Skip to content

Instantly share code, notes, and snippets.

@intarstudents
Last active October 6, 2015 22:07
Show Gist options
  • Save intarstudents/3060018 to your computer and use it in GitHub Desktop.
Save intarstudents/3060018 to your computer and use it in GitHub Desktop.
Compiling Nginx

Dependencies

$ sudo aptitude install build-essential libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev

Install

$ wget http://nginx.org/download/nginx-1.4.2.tar.gz
$ tar zxvf nginx-1.4.2.tar.gz
$ cd nginx-1.4.2/
$ ./configure --prefix=/usr --conf-path=/etc/nginx/nginx.conf --pid-path=/var/run/nginx.pid --error-log-path=/var/log/nginx/default-error_log --http-log-path=/var/log/nginx/default-access_log --with-http_stub_status_module --with-http_ssl_module
$ make
$ sudo make install

Upstart /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=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/nginx
NAME=nginx
DESC=nginx

test -x $DAEMON || exit 0
set -e

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

exit 0

Add executable rights to script and add update-rc.d:

$ chmod +x /etc/init.d/nginx
$ update-rc.d nginx defaults
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment