NGINX相關(guān)命令

Nginx服務(wù)的啟動(dòng)

flynngod@flynngod:/usr/local/nginx/sbin$ nginx -h
nginx version: nginx/1.13.6
Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]

Options:
  -?,-h         : this help
  -v            : show version and exit
  -V            : show version and configure options then exit
  -t            : test configuration and exit
  -T            : test configuration, dump it and exit
  -q            : suppress non-error messages during configuration testing
  -s signal     : send signal to a master process: stop, quit, reopen, reload
  -p prefix     : set prefix path (default: /usr/local/nginx/)
  -c filename   : set configuration file (default: conf/nginx.conf)
  -g directives : set global directives out of configuration file
  • “-h”或者“-?”用來打印二進(jìn)制文件的nginx的用法坊秸,也就是當(dāng)前顯示的內(nèi)容谜疤。
  • “-v”用來顯示Nginx服務(wù)器的版本號(hào)
  • “-V”除了顯示版本號(hào),還顯示Nginx服務(wù)器編譯情況
  • “-t”檢查Nginx服務(wù)器配置文件是否有語法錯(cuò)誤帽撑,可以與“-c”聯(lián)用泼各,使輸出內(nèi)容更詳細(xì),這對(duì)查找配置文件中的語法錯(cuò)誤很有幫助亏拉,如果檢查通過扣蜻,將顯示類似下面的信息:
flynngod@flynngod:/usr/local/nginx/sbin$ sudo nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
  • “-q”與“-t”聯(lián)用,如果配置文件無錯(cuò)誤及塘,將不輸出上面的內(nèi)容
  • “-s signal”用來向Nginx服務(wù)的主進(jìn)程發(fā)送信號(hào)
  • “-p prefix”用來改變Nginx的安裝路徑莽使,常用在平滑升級(jí)Nginx服務(wù)器的場(chǎng)合
  • “-c filename”用來指定啟動(dòng)Nginx服務(wù)使用的配置文件
  • “-g directives”用來補(bǔ)充Nginx配置文件,向Nginx服務(wù)指定啟動(dòng)時(shí)應(yīng)用于全局的配置笙僚。

如果使用默認(rèn)的配置文件芳肌,可以直接運(yùn)行nginx

sudo nginx

可以使用命令查看運(yùn)行狀態(tài)

ps -ef | grep nginx

Nginx服務(wù)的停止

停止Nginx服務(wù)有兩種方法:一種是快速停止,一種是平緩?fù)V估卟恪亿笤?焖偻V故侵噶⒓赐V巩?dāng)前Nginx服務(wù)正在處理的所有網(wǎng)絡(luò)請(qǐng)求,馬上丟棄連接栋猖,停止工作净薛。平緩?fù)V故侵冈试SNginx服務(wù)將當(dāng)前正在處理的網(wǎng)絡(luò)請(qǐng)求處理完成,但不再接收新的請(qǐng)求蒲拉,之后關(guān)閉連接肃拜,停止工作痴腌。
停止Nginx服務(wù)的操作比較多。

  • nginx從容停止命令燃领,等所有請(qǐng)求結(jié)束后關(guān)閉服務(wù)衷掷。
ps -ef |grep nginx
kill -QUIT  nginx主進(jìn)程號(hào)
  • nginx 快速停止命令,立刻關(guān)閉nginx進(jìn)程柿菩。
ps -ef |grep nginx
kill -TERM nginx主進(jìn)程號(hào) 
  • 如果以上命令不管用戚嗅,可以強(qiáng)制停止。
kill -9 nginx主進(jìn)程號(hào)
  • 如果嫌麻煩可以不用查看進(jìn)程號(hào)枢舶,直接使用命令進(jìn)行操作懦胞。
    其中/usr/local/var/run/nginx.pid 為nginx.conf中pid命令設(shè)置的參數(shù),用來存放nginx主進(jìn)程號(hào)的文件凉泄。
kill -信號(hào)類型(HUP|TERM|QUIT) cat /usr/local/var/run/nginx.pid 
例如
kill -QUIT `cat /usr/local/var/run/nginx.pid`

Nginx服務(wù)的重啟

更改Nginx服務(wù)器的配置和加入新模塊后躏尉,如果希望當(dāng)前Nginx服務(wù)應(yīng)用新的配置或使新模塊生效,就需要重啟Nginx服務(wù)后众。當(dāng)然我們可以先關(guān)閉Nginx服務(wù)胀糜,然后使用新的Nginx配置文件重啟服務(wù)。
Nginx的平滑重啟是這樣一個(gè)過程蒂誉,Nginx服務(wù)進(jìn)程接收到信號(hào)后教藻,首先讀取新的Nginx配置文件,如果配置語法正確右锨,則啟動(dòng)新的Nginx服務(wù)括堤,然后平緩關(guān)閉舊的服務(wù)進(jìn)程。如果新的Nginx配置有問題绍移,將顯示錯(cuò)誤悄窃,仍然使用舊的Nginx進(jìn)程提供服務(wù)。

如果改變了Nginx的配置文件(nginx.conf)蹂窖,想重啟Nginx轧抗,可以發(fā)送系統(tǒng)信號(hào)給Nginx主進(jìn)程的方式來進(jìn)行。不過瞬测,在重啟之前横媚,要確認(rèn)Nginx配置文件的語法是正確的,可通過如下命令測(cè)試配置文件是否正確:

nginx -t -c /usr/local/etc/nginx/nginx.conf

對(duì)于Nginx 0.8.x之后的版本,可以使用命令來重啟nginx:

sudo nginx -s reload

Nginx服務(wù)器的升級(jí)

如果要對(duì)當(dāng)前的Nginx服務(wù)器進(jìn)行版本升級(jí)涣楷,應(yīng)用新模塊分唾,最簡(jiǎn)單的辦法是停止當(dāng)前Nginx服務(wù)抗碰,然后開啟新的Nginx服務(wù)狮斗,但這樣就會(huì)導(dǎo)致在一段時(shí)間內(nèi),用戶無法訪問服務(wù)器弧蝇。為了解決這個(gè)問題碳褒,Nginx服務(wù)器提供平滑升級(jí)的功能折砸。
平滑升級(jí)的過程是這樣的,Nginx服務(wù)接收到USER2信號(hào)后沙峻,首先將舊的nginx.pid文件(如果在配置文件中更改過這個(gè)文件的名字睦授,也是相同的過程)添加后綴.oldbin,變?yōu)閚ginx.pid.oldbin文件摔寨。然后執(zhí)行新版本Nginx服務(wù)器的二進(jìn)制文件啟動(dòng)服務(wù)去枷。如果新的服務(wù)器啟動(dòng)成功,系統(tǒng)中將有新舊兩個(gè)Nginx服務(wù)共同提供Web服務(wù)是复。之后删顶,需要向舊的Nginx服務(wù)進(jìn)程放WINCH信號(hào),使舊的Nginx服務(wù)平滑停止淑廊,并刪除nginx.pid.oldbin文件逗余。在發(fā)送WINCH信號(hào)之前,可以隨時(shí)停止新的Nginx服務(wù)季惩。
為了實(shí)現(xiàn)Nginx服務(wù)器的平滑升級(jí)录粱,新的服務(wù)器安裝路徑應(yīng)該和舊的保持一致。因此建議用戶在安裝新服務(wù)器之前先備份舊服務(wù)器画拾。如果由于某種原因無法保持新舊服務(wù)器安裝路徑一致啥繁,則可以先使用以下命令將舊服務(wù)器的安裝路徑更改為新服務(wù)器的安裝路徑:

nginx -p newInstallPath

其中,newInstallPath為新服務(wù)器的安裝路徑青抛。之后输虱,備份舊服務(wù)器,安裝新服務(wù)器即可脂凶。

當(dāng)需要將正運(yùn)行的Nginx升級(jí)宪睹,可以在不中斷服務(wù)的情況下進(jìn)行,具體步驟如下:

  • 使用新的可執(zhí)行程序替換舊的可執(zhí)行程序蚕钦。下載新的Nginx亭病,重新編譯到舊版本的安裝路徑中。重編譯之前嘶居,先備份一下舊的可執(zhí)行文件罪帖。
  • 執(zhí)行以下指令,他將存儲(chǔ)有舊版本主進(jìn)程ID的文件重命名為.oldbin:
kill -USR2 舊版本的Nginx主進(jìn)程號(hào)
一般情況下是這樣的:kill -USR2 `cat /usr/local/nginx/nginx.pid`

可以用 ls /usr/local/nginx/logs來查看是否改名

  • 執(zhí)行新版本的Nginx可執(zhí)行程序邮屁。
ulimit -SHn 65535
/usr/local/nginx/sbin/nginx
  • 此時(shí)新舊版本的Nginx會(huì)同時(shí)運(yùn)行整袁,共同處理請(qǐng)求。要逐步停止舊版本的Nginx佑吝,必須發(fā)送WINCH信號(hào)給舊的主進(jìn)程坐昙。然后,他的工作進(jìn)程將從容關(guān)閉芋忿。
kill -WINCH 舊版本的Nginx主進(jìn)程號(hào)
  • 一段時(shí)間后炸客,舊的工作進(jìn)程處理完了所有的請(qǐng)求后退出疾棵,僅由新的進(jìn)程來處理輸入請(qǐng)求了”韵桑可用下面的命令查看:
ps -ef | grep nginx
  • 現(xiàn)在可以決定使用新版本還是恢復(fù)到舊版本:
    • kill -HUP 舊的主進(jìn)程號(hào) :Nginx在不重載配置文件的情況下啟動(dòng)他的工作進(jìn)程
    • kill -QUIT 新的主進(jìn)程號(hào) :從容關(guān)閉其工作進(jìn)程
    • kill -TERM 新的主進(jìn)程號(hào) :強(qiáng)制退出
    • kill 新的主進(jìn)程號(hào)或舊的主進(jìn)程號(hào):如果因?yàn)槟承┰蛐碌墓ぷ鬟M(jìn)程不能退出是尔,則向其發(fā)送kill信號(hào)

新的主進(jìn)程退出后,舊的主進(jìn)程會(huì)移除.oldbin后綴开仰,恢復(fù)為他的.pid文件拟枚,這樣,一切就都恢復(fù)為升級(jí)之前了众弓。
如果嘗試升級(jí)成功梨州,而自己又希望保留新版本時(shí),可發(fā)送QUIT信號(hào)給舊的主進(jìn)程田轧,使其退出而只留下新的進(jìn)程運(yùn)行:kill -QUIT 舊主進(jìn)程號(hào)暴匠。
這樣就在不停止提供Web服務(wù)的前提下完成了Nginx服務(wù)器的平滑升級(jí)。

參考

http://www.reibang.com/p/84355e6caccb
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末傻粘,一起剝皮案震驚了整個(gè)濱河市每窖,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌弦悉,老刑警劉巖窒典,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異稽莉,居然都是意外死亡瀑志,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門污秆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來劈猪,“玉大人,你說我怎么就攤上這事良拼≌降茫” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵庸推,是天一觀的道長(zhǎng)常侦。 經(jīng)常有香客問我,道長(zhǎng)贬媒,這世上最難降的妖魔是什么聋亡? 我笑而不...
    開封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮际乘,結(jié)果婚禮上坡倔,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好致讥,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著器赞,像睡著了一般垢袱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上港柜,一...
    開封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天请契,我揣著相機(jī)與錄音,去河邊找鬼夏醉。 笑死爽锥,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的畔柔。 我是一名探鬼主播氯夷,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼靶擦!你這毒婦竟也來了腮考?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤玄捕,失蹤者是張志新(化名)和其女友劉穎踩蔚,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體枚粘,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡馅闽,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了馍迄。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片福也。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖攀圈,靈堂內(nèi)的尸體忽然破棺而出拟杉,到底是詐尸還是另有隱情,我是刑警寧澤量承,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布搬设,位于F島的核電站,受9級(jí)特大地震影響撕捍,放射性物質(zhì)發(fā)生泄漏拿穴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一忧风、第九天 我趴在偏房一處隱蔽的房頂上張望默色。 院中可真熱鬧,春花似錦狮腿、人聲如沸腿宰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽吃度。三九已至甩挫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間椿每,已是汗流浹背伊者。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留间护,地道東北人亦渗。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像汁尺,于是被迫代替她去往敵國(guó)和親法精。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容