Nginx是一款高性能的HTTP和反向代理服務器,在Web服務部署中廣泛使用。對Nginx進行啓停、重啓和配置檢查是日常管理的基礎操作。本文將詳細講解這些常用命令,幫助新手快速上手。

一、啓動Nginx服務

啓動Nginx有兩種常見方式,根據安裝環境選擇使用。

1. 直接啓動(源碼安裝常用)

如果通過源碼編譯安裝Nginx,可直接在命令行執行:

nginx

注意:首次啓動可能需要root權限,若未配置系統服務,需手動執行。

2. 系統服務啓動(包管理器安裝常用)

在CentOS、Ubuntu等通過yumapt安裝的系統中,Nginx會作爲系統服務管理。使用systemctl命令啓動:

sudo systemctl start nginx

(也可使用service命令:sudo service nginx start,但systemctl更通用)

驗證啓動成功

  • 檢查進程:執行ps aux | grep nginx,若顯示Nginx主進程和工作進程,說明啓動成功。
  • 訪問測試:在瀏覽器輸入服務器IP(如http://192.168.1.100),若看到Nginx默認歡迎頁面,說明服務正常。

二、停止Nginx服務

停止服務需區分“快速停止”和“優雅停止”,避免數據丟失或請求中斷。

1. 快速停止(緊急終止)

使用-s stop參數,Nginx會立即終止所有進程,可能導致正在處理的請求中斷:

nginx -s stop

或通過系統服務命令停止:

sudo systemctl stop nginx

2. 優雅停止(推薦)

使用-s quit參數,Nginx會等待當前請求處理完成後再停止,不會中斷服務,是更安全的方式:

nginx -s quit

同樣支持系統服務命令:

sudo systemctl stop nginx

區別總結
- stop/systemctl stop:立即終止進程,適合緊急場景。
- quit:優雅退出,適合正常停止服務,保留當前請求處理結果。

三、重啓Nginx服務

重啓服務分爲兩種場景:重新加載配置(不中斷服務)和完全重啓(可能中斷服務)。

1. 重新加載配置(最常用)

修改配置文件後(如nginx.conf),需重新加載配置,避免中斷服務:

nginx -s reload

關鍵:此命令僅重新加載配置,不重啓進程,推薦用於配置更新。

2. 完全重啓(系統服務常用)

若服務異常或需徹底重啓,使用systemctl restart

sudo systemctl restart nginx

說明:此命令會先停止服務,再重新啓動,可能導致短暫服務中斷(適用於配置錯誤或服務崩潰時)。

四、配置檢查與驗證

修改配置文件後,必須先檢查語法錯誤,再生效配置。

1. 檢查配置語法錯誤

使用nginx -t命令驗證配置文件是否有語法問題:

nginx -t

輸出示例
若配置正確,會顯示:nginx: configuration file /etc/nginx/nginx.conf test is successful
若有錯誤,會提示具體錯誤位置和原因(如“語法錯誤在第X行”)。

2. 查看完整配置(排查問題)

使用nginx -T可查看所有加載的配置(含子配置文件),便於排查配置衝突:

nginx -T

3. 確認服務狀態

  • 查看進程ps aux | grep nginx
  • 監聽端口netstat -tuln | grep nginx(或ss -tuln | grep nginx
  • 訪問測試:用瀏覽器或curl命令訪問服務器IP,如curl http://127.0.0.1,確認頁面正常返回。

五、新手常見命令速查表

命令 作用 適用場景
nginx 直接啓動Nginx(源碼安裝) 無系統服務時使用
sudo systemctl start nginx 啓動系統服務Nginx 包管理器安裝的系統服務
nginx -s stop 快速停止Nginx 緊急終止服務(可能中斷請求)
nginx -s quit 優雅停止Nginx(推薦) 正常停止服務(不中斷請求)
nginx -s reload 重新加載配置(不中斷) 修改配置後更新服務
nginx -t 檢查配置語法錯誤 配置修改後驗證
nginx -T 查看完整配置(含子文件) 排查配置問題

六、注意事項

  1. 權限問題:所有Nginx命令需root或sudo權限(如systemctl需加sudo)。
  2. 配置文件路徑
    - 包管理器安裝:/etc/nginx/(如nginx.conf)。
    - 源碼安裝:/usr/local/nginx/conf/
  3. 日誌排查:若服務啓動失敗,查看錯誤日誌/var/log/nginx/error.log

總結

Nginx的啓停、重啓和配置檢查命令是日常管理的核心。關鍵要點:
- 配置修改後必須用nginx -t檢查語法,再用reload生效;
- 優先使用nginx -s reload(不中斷服務),僅在必要時用systemctl restart(可能中斷服務);
- 系統服務管理依賴systemctl,源碼安裝則直接使用nginx命令。

多練習這些命令,熟悉不同場景的操作,就能輕鬆應對Nginx的日常維護了!

小夜