註:Nginx服務在運行時,會保持一個主進程(master process)和一個或多個工作進程(worker process)。 每一個進程都會有一個PID進程號,可以通過向主進程的PID進程號發送信號關閉伺服器。 Nginx伺服器啟動後,預設在Nginx伺服器安裝目錄的logs目錄中會產生文件名 ...
註:Nginx服務在運行時,會保持一個主進程(master process)和一個或多個工作進程(worker process)。
每一個進程都會有一個PID進程號,可以通過向主進程的PID進程號發送信號關閉伺服器。
Nginx伺服器啟動後,預設在Nginx伺服器安裝目錄的logs目錄中會產生文件名為nginx.pid的文件,此文件中保持的就是nginx服務主進程的PID。
nginx伺服器可接收的信號:
TERM 或 INT 快速停止nginx伺服器。
QUIT 平緩停止nginx伺服器。
HUP 平滑重啟,使用新的配置文件啟動進程,平緩的停止原有進程,
USR1 重新打開日誌文件,常用於日誌切割。
USR2 平滑升級,使用新版本的Nginx文件啟動服務,平緩的停止原有Nginx進程。
WINCH 平緩停止worker process,用於Nginx伺服器平滑升級。
1.快速停止nginx伺服器
(1) kill -TERM `cat /usr/local/nginx/logs/nginx.pid`
(2) kill -INT `cat /usr/local/nginx/logs/nginx.pid`
2.平緩停止nginx伺服器
kill -QUIT `cat /usr/local/nginx/logs/nginx.pid`
3.平滑重啟nginx伺服器
(1) kill -HUP `cat /usr/local/nginx/logs/nginx.pid`
(2) /usr/local/nginx/sbin/nginx -s reload
4.平緩停止工作進程
kill -WINCH `cat /usr/local/nginx/logs/nginx.pid`
5.強制停止nginx
pkill -9 nginx
6.停止nginx伺服器的命令
(1) /usr/local/nginx/sbin/nginx -s stop
(2) pkil nginx
7.檢查對nginx.conf文件的修改是否正確
(1) nginx -t -c /usr/local/nginx/conf/nginx.conf
(2) /usr/local/nginx/sbin/nginx -t
--------------------------------------------------
nginx伺服器平滑升級過程如下:
註:為實現nginx伺服器的平滑升級,新的伺服器安裝路徑應該和舊的保持一致。因此建議用戶安裝新伺服器之前先備份舊的伺服器。
1.編譯新版本的nginx
(1) tar -xvf nginx-1.14.2.tar.gz #解壓
(2) cd nginx-1.14.2 #進入解壓後的目錄
(3) ./configure --prefix=/usr/local/nginx #預編譯路徑和老版本的安裝路徑保持一致。
(4) make #編譯
2.備份舊版本可執行nginx,複製新版本的nginx可執行nginx
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old #備份
cp objs/nginx /usr/local/nginx/sbin/ #複製新版本可執行文件
/usr/local/nginx/sbin/nginx -t #測試新版本是否正常
3.平滑重啟升級nginx
kill USR2 ` cat /usr/local/nginx/log/nginx.pid` 或 /usr/local/nginx/sbin/nginx -g USR2 #發送平滑升級的信號
kill -WINCH `cat /usr/local/nginx/log/nginx.pid` 或 /usr/local/nginx/sbin/nginx -g WINCH #發送平緩停止舊伺服器的信號
/usr/local/nginx/sbin/nginx -V #顯示最新編譯的版本信息即可。