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