要啟動nginx,請運行可執(zhí)行文件。 當(dāng)nginx啟動后,可以通過使用-s參數(shù)調(diào)用可執(zhí)行文件來控制它。
使用以下語法: ( 推薦學(xué)習(xí):nginx使用 )
nginx -s signal
信號(signal)的值可能是以下之一:
stop – 快速關(guān)閉服務(wù)
quit – 正常關(guān)閉服務(wù)
reload – 重新加載配置文件
reopen – 重新打開日志文件
例如,要通過等待工作進程完成服務(wù)當(dāng)前請求來停止nginx進程,可以執(zhí)行以下命令:
nginx -s quit
注:該命令應(yīng)該在啟動nginx的同一用戶下執(zhí)行。
在將重新配置命令的命令發(fā)送到nginx或重新啟動之前,配置文件中的更改將不會被應(yīng)用。
要重新加載配置文件,請執(zhí)行:
nginx -s reload
當(dāng)主進程收到要重新加載配置的信號,它將檢查新配置文件的語法有效性,并嘗試應(yīng)用其中提供的配置。 如果這是成功的,主進程將啟動新的工作進程,并向舊的工作進程發(fā)送消息,請求它們關(guān)閉。
否則,主進程回滾更改,并繼續(xù)使用舊配置。 老工作進程,接收關(guān)閉命令,停止接受新連接,并繼續(xù)維護當(dāng)前請求,直到所有這些請求得到維護。 之后,舊的工作進程退出。
還可以借助Unix工具(如kill utility)將信號發(fā)送到nginx進程。 在這種情況下,信號直接發(fā)送到具有給定進程ID的進程。 默認(rèn)情況下,nginx主進程的進程ID寫入目錄/usr/local/nginx/logs或/var/run中的nginx.pid。
例如,如果主進程ID為1628,則發(fā)送QUIT信號導(dǎo)致nginx的正常關(guān)閉,請執(zhí)行:
kill -s QUIT 1628
要獲取所有運行的nginx進程的列表,可以使用ps命令,例如,以下列方式:
ps -ax | grep nginx