/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
其中-c引數指定配置檔案路徑。
nginx支援以下幾種訊號控制:
- term, int 快速關閉
- quit 從容關閉
- hup 平滑重啟
- usr1 重新開啟日誌檔案,在切割檔案時用處大
- usr2 平滑公升級
- winch 從容關閉工作程序
我們可以通過訊號停止nginx主程序,首先,我們需要通過ps -ef|grep命令獲得master程序的pid,或者通過cat pid檔案獲得主程序號。下面是幾個典型的停止語句:
#從容停止nginxkill -quit master程序號
#快速停止nginx
kill -term master程序號
#強制停止nginx
kill -9 master程序號
如果改變了配置檔案,想重啟讓其生效,同樣可以通過傳送系統訊號給nginx主程序,不過,在重啟之前,要確認配置檔案的語法是正確的,否則將不會載入新的配置項。
通過以下語句測試配置檔案語法是否正確:
/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
其中-t表示測試,並不真正執行。
然後,通過以下命令重載入nginx配置:
kill -hup master程序號
執行上面命令之後,nginx執行新的工作程序,舊工作程序繼續為已有的連線服務,等所有舊的連線成功後,舊的工作程序才被關閉。
#!/bin/sh# chkconfig:
2345
8515
# description:nginx server
nginx_home=/usr/local/nginx
nginx_sbin=$nginx_home/sbin/nginx
nginx_conf=$nginx_home/conf/nginx.conf
nginx_pid=$nginx_home/logs/nginx.pid
nginx_name="
nginx
". /etc/rc.d/init.d/functions
if [ ! -f $nginx_sbin ]
then
echo
"$nginx_name startup: $nginx_sbin not exists!
"exit
fi
start()
stop()
restart()
check()
reload()
relog()
case"$1
"instart)
start
;;
stop)
stop
;;
restart)
restart
;;
check|chk)
check
;;
status)
status -p $nginx_pid
;;
reload)
reload
;;
relog)
relog
;;
*)
echo $
"usage: $0
"exit
1esac
上面是nginx的啟動指令碼,只要把它拷貝至/etc/init.d目錄下,就可以通過service nginx start等目錄操作nginx。
除了上面介紹的直接發訊號給nginx主程序的方法之外,我們還可以通過nginx -s命令:
在Linux裡安裝 啟動nginx
由於nginx依賴於pcre和zlib,所以在安裝nginx時,需要先安裝pcre和zlib 為了方便起見,我把pcre zlib nginx的包放到了同乙個目錄下 1 安裝pcre tar zxvf pcre 8.39.tar.gz cd pcre 8.39 configure make make...
在Linux裡安裝 啟動nginx
由於nginx依賴於pcre和zlib,所以在安裝nginx時,需要先安裝pcre和zlib 為了方便起見,我把pcre zlib nginx的包放到了同乙個目錄下 1 安裝pcre plain view plain copy tar zxvf pcre 8.39.tar.gz cd pcre 8....
在Linux裡安裝 啟動nginx
由於nginx依賴於pcre和zlib,所以在安裝nginx時,需要先安裝pcre和zlib 為了方便起見,我把pcre zlib nginx的包放到了同乙個目錄下 1 安裝pcre plain view plain copy tar zxvf pcre 8.39.tar.gz cd pcre 8....