啟動 nginx
可以參考這個 EA82.COM
systemctl start nginx
一旦 nginx 啟動后,就可以用nginx -s signal 命令來接管
快速關閉 nginx
nginx -s stop
平滑的關閉 nginx
nginx -s quit
重啟 nginx
nginx -s reload
分割日志
nginx -s reopen
nginx 的工作原理
nginx 有一個 master 進程(老板)和多個 worker 進程(工人),master 進程負責閱讀和評估配置,給 worker 進程提供保障,worker 進程實際處理請求。
nginx -s reload 命令加載修改后的配置文件, 命令下達后發生如下事件
Nginx 的 master 進程檢查配置文件的正確性,若是錯誤則返回錯誤信息,nginx 繼續采用原配置文件進行工作(因為 worker 未受到影響)
Nginx 啟動新的 worker 進程,采用新的配置文件
Nginx 將新的請求分配新的 worker 進程
Nginx 等待以前的 worker 進程的全部請求已經都返回后,關閉相關 worker 進程
重復上面過程,直到全部舊的 worker 進程都被關閉掉。
nginx -s quit命令關閉 nginx 服務時,nginx 服務要等待工作進程將當前請求處理完才關閉。
也可以用 kill 命令殺死指定進程號的 nginx 進程
先通過 /var/run/nginx.pid 文件查看 nginx master 進程進程 id,
或者通過ps -ax|grep nginx查看進程
在使用kill -s quit 進程號 殺死進程