ubuntu下把編譯安裝的nginx加入到service中

Download Nginx最新穩定版本javascript

能夠從這裏http://nginx.org/en/download.html 下載最新版本,好比:css

wget http://nginx.org/download/nginx-1.2.2.tar.gzhtml

apt-get install libpcre3 libpcre3-devjava

若是須要支持https的話,參考下面的部分:nginx

apt-get install libssl-devshell

apt-get install openssl服務器

生成證書參考文檔:ide

http://wiki.nginx.org/NginxHttpSslModuleui

若是要支持image filter的話,還要安裝GD libraryrest

apt-get install libgd2-xpm-dev

編譯安裝

假設下載文件在/usr/src目錄下

tar zxvf nginx-1.2.1.tar.gz

cd nginx-1.2.1

./configure --prefix=/usr/nginx --with-http_ssl_module --with-http_image_filter_module
make
make install

文件會被安裝到/usr/nginx目錄下
到/usr/nginx/sbin/目錄下,執行sudo ./nginx,能夠啓動nginx了

--prefix=/usr/nginx 會致使nginx內部的hard coding,也就是程序部署的時候都會將/usr/nginx做爲根目錄。若是你的目標機器上不是該目錄,就要修改這個參數。

若是你的目標機器上目錄結構和nginx內部定義的不同,就會比較麻煩。這個需求比較特殊,不過我碰到了。

靜態文件服務器搭建

在/usr/nginx/conf/nginx.conf文件中添加下列配置 location ~ ^/(images|javascript|js|css|flash|media|static)/ { root /opt/resources; expires 1d; }

建立/opt/resources目錄,將css,images等文件夾複製到下面。 假如images目錄下有logo.gif圖片,啓動nginx後,如今能夠經過下面的方式查看: http://localhost/images/logo.gif

建立系統服務

cd /etc/init.d/
建立nginx腳本,內容以下:

#!/bin/sh
### BEGIN INIT INFO
# Provides:     nginx
# Required-Start:
# Required-Stop:
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description: nginx
# Description: nginx server
### END INIT INFO
. /lib/lsb/init-functions
PROGRAM=/usr/nginx/sbin/nginx

test -x $PROGRAM || exit 0
case "$1" in
  start)
     log_begin_msg "Starting Nginx server"
     /usr/nginx/sbin/nginx
     log_end_msg 0
     ;;
  stop)
     PID=`cat /usr/nginx/logs/nginx.pid`
     log_begin_msg "Stopping Nginx server"
     if [ ! -z "$PID" ]; then
        kill -15 $PID
     fi
     log_end_msg 0
     ;;
  restart)
     $0 stop
     $0 start
     ;;
  *)
     log_success_msg "Usage: service nginx {start|stop|restart}"
     exit 1
esac
exit 0

而後運行下面的命令:sudo chmod +x ./nginxsudo update-rc.d nginx defaults如今能夠使用下面的命令了,從新啓動nginx會自動啓動sudo service nginx startsudo service nginx stop

相關文章
相關標籤/搜索