標籤:
參考Nginx官方文檔
本文將通過介紹一些基礎且常用Nginx命令及結合官網執行個體進行簡單講解,適用於初學者閱讀。並且假定讀者已經在伺服器上安裝部署了Nginx服務(安裝部署請參考:Nginx安裝部署介紹),更高進階使用者請出門右轉。
本指南將從如何啟動,停止Nginx服務及如何重新載入Nginx配置為切入點,講解Nginx設定檔結構。並介紹如何設定Nginx靜態內容服務、動態代理服務及串連公用網關介面(FastCGI)。
常用基礎命令
熟練掌握基本操作命令,可以減少很多時間的浪費(雖然針對這些基礎命令說這句話顯得很牽強)
啟動命令
windows作業系統環境下(在dos命令板,進入到nginx所在目錄執行),
> start nginx 或 nginx.exe
linux作業系統環境下(一下僅為樣本,具體路徑以實際為準),
$ /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
調用控制命令
對於啟動或運行可執行檔,一旦Nginx啟動,即可通過調用 -s + 參數的形式進行控制,具體Nginx命令格式,如下:
$ nginx -s signal
signal執行個體,如下所示
-
stop — 快速停止Nginx服務
-
quit — 優雅的停止Nginx服務(等待當前服務進程運行結束後,停止服務)
-
reload — 重新載入Nginx策略設定檔,並重啟
-
reopen — reopening the log files
例如,想要在Nginx服務響應完成當前請求後,停止Nginx服務,則應使用以下命令:
$ nginx -s quit
註:執行這些命令,需要在啟動當前nginx服務的使用者下完成操作;
下面著重講解一下,當 nginx -s reload 命令執行時,nginx服務內部工作機制是怎樣的呢?
首先,當nginx服務主進程收到重新載入並重啟的命令後,nginx會首先檢查更改後的配置文法是否正確,並嘗試按照新的配 置參數執行;
如果一切ok , 那麼nginx服務主進程會重新啟動一個服務背景工作處理序,並發送訊息通知舊的服務背景工作處理序關閉舊進程。
另外,主進程會復原並繼續使用舊的配置進行工作,舊背景工作處理序收到停止工作訊息後,開始拒絕所有的新的串連請求,並繼續處理已接收的請求,直到對所有已有請求服務完成。
最後,舊的服務背景工作處理序會退出整個服務並銷毀。
其他然並卵的命令
殺掉Nginx服務的指定進程:
kiss -s QUIT 1628
註: 1628為Nginx的某一進程id
擷取Nginx服務所有活動的進程:
ps -ax | grep nginx
點擊查看更多Nginx服務命令
Nginx設定檔結構
Nginx 由設定檔中多個指定指令組封裝結合的模組組成。指令組可以被分拆成多個簡單指令或者指令塊。一個簡單指令是由參數名,參數值中間空格,末尾分號的形式構成。一個指令塊結構與一個簡單指令結構類似,不過是由 大括弧(‘{ }’) 的形式包圍起來。如果一個指令塊裡麵包含一個其他的指令組可像Nginx預設配置的 events , http , server等形式類似。
井號(‘ # ’)為注釋行所用標識。
(未完待續)
Nginx初學指南(初學者篇)