Sep 04

High scalability with Nginx, I have read some article about Nginx, which show more powerful with load balance, reverse proxy, imap, pop3 and smtp.
This post is howto install Nginx for using in our project, let’s go….

Install prerequisites :
[code lang='bash']apt-get install libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev[/code]

Get source package : http://sysoev.ru/nginx/nginx-0.6.32.tar.gz
Get syslog patch : http://wiki.codemongers.com/NginxModules?action=AttachFile&do=get&target=syslog.patch

[code lang='bash']tar zxf nginx-0.6.32.tar.gz
cd nginx-0.6.32
patch -p1 < ../syslog.patch #which use SysLog
./configure --with-http_ssl_module --with-mail --with-mail_ssl_module --with-syslog
make
make install
[/code]

init.d script
vi /etc/init.d/nginx
[code lang='bash']
#! /bin/sh
### BEGIN INIT INFO
# Provides: nginx
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the nginx web server
# Description: starts nginx using start-stop-daemon
### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/nginx/sbin
DAEMON=/usr/local/nginx/sbin/nginx
NAME=nginx
DESC=nginx

test -x $DAEMON || exit 0

# Include nginx defaults if available
if [ -f /etc/default/nginx ] ; then
. /etc/default/nginx
fi

set -e

case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \
--exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \
--exec $DAEMON
echo "$NAME."
;;

restart|force-reload)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile \
/usr/local/nginx/logs/$NAME.pid --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --pidfile \
/usr/local/nginx/logs/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
reload)
echo -n "Reloading $DESC configuration: "
start-stop-daemon --stop --signal HUP --quiet --pidfile /usr/local/nginx/logs/$NAME.pid \
--exec $DAEMON
echo "$NAME."
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
exit 1
;;
esac

exit 0
[/code]

Give some permissions:
[code lang='bash']
chmod +x /etc/init.d/nginx
/usr/sbin/update-rc.d -f nginx defaults[/code]

Ok, already done.

Tagged with:
preload preload preload