nginxをdebian6でキレイにエラー無しでコンパイルする方法まとめ


nginxをdebian6環境下でSPDY付きでキレイにコンパイルするまとめです。コピー・ペーストだけでもコンパイルできるかと思いますが、ある程度理解してからその手段に出て欲しいのと、最新版をしっかりと利用してください。下記バージョンは現時点での最新版となっています。

# apt-get install libpcre3 libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev
# cd /usr/local/src
# wget http://nginx.org/download/nginx-1.5.5.tar.gz
# wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz
# tar zxvf nginx-1.5.5.tar.gz
# tar zxvf openssl-1.0.1c.tar.gz
# cd nginx-1.5.5
# ./configure --with-openssl=/usr/local/src/openssl-1.0.1c  --with-http_ssl_module --with-http_spdy_module
# make
# make install

/usr/local/nginx にnginxのすべてがインストールされます。インストール場所を変えたい場合は–prefixなどをconfigureで変えてあげてください。

起動用スクリプトは下記の通り
※ nginx.conf などで pidファイルを /var/run/nginx.pid と設定してください。pidファイルを指定しないとnginx stopは動作しません。

#! /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/nginx/sbin:/usr/local/nginx/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
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 /var/run/$NAME.pid \
                --exec $DAEMON -- $DAEMON_OPTS || true
        echo "$NAME."
        ;;
  stop)
        echo -n "Stopping $DESC: "
        start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
                --exec $DAEMON || true
        echo "$NAME."
        ;;
  restart|force-reload)
        echo -n "Restarting $DESC: "
        start-stop-daemon --stop --quiet --pidfile \
                /var/run/$NAME.pid --exec $DAEMON || true
        sleep 1
        start-stop-daemon --start --quiet --pidfile \
                /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true
        echo "$NAME."
        ;;
  reload)
      echo -n "Reloading $DESC configuration: "
      start-stop-daemon --stop --signal HUP --quiet --pidfile /var/run/$NAME.pid \
          --exec $DAEMON || true
      echo "$NAME."
      ;;
  *)
        N=/etc/init.d/$NAME
        echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
        exit 1
        ;;
esac
exit 0

  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です