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 :

apt-get install libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev

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

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

init.d script
vi /etc/init.d/nginx

#! /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

Give some permissions:

chmod +x /etc/init.d/nginx
/usr/sbin/update-rc.d -f nginx defaults

Ok, already done.

written by Mr-San \\ tags: , ,