config-nginx.md 3.8 KB

Nginx

在本節中,我們將介紹 Nginx UI 中關於 Nginx 控制命令、日誌路徑等參數的配置選項。

::: tip 提示 自 v2.0.0-beta.3 版本起,我們將 nginx_log 配置項改名為 nginx。 :::

日誌

Nginx 日誌對於監控、排查問題和維護您的 Web 伺服器至關重要。它們提供了有關伺服器性能、用戶行為和潛在問題的寶貴見解。

在本節中,我們將討論兩種主要類型的日誌:訪問日誌和錯誤日誌。

對於從 v1.5.2 或更早版本升級的 Nginx-UI Docker 用戶,在配置 app.ini 之前,您需要在 nginx.conf 中添加單獨的 access_logerror_log 指令。

在 Nginx-UI 容器中,/var/log/nginx/access.log 是一個指向 /dev/stdout 的符號鏈接,而 /var/log/nginx/error.log 是一個指向 /dev/stderr 的符號鏈接。這種設置允許您使用 docker logs nginx-ui 命令查看 Nginx 和 Nginx-UI 日誌。然而,這兩個設備不支持 tail 命令,因此有必要使用額外的日誌文件來記錄 Nginx 日誌。

範例:

error_log /var/log/nginx/error.log notice;
error_log /var/log/nginx/error.local.log notice;

http {
...
    access_log /var/log/nginx/access.log main;
    access_log /var/log/nginx/access.local.log main;
...
}

之後,請在 app.ini 中設置 nginx 訪問日誌和錯誤日誌路徑,然後重新啟動 nginx-ui。

範例:

[nginx_log]
AccessLogPath = /var/log/nginx/access.local.log
ErrorLogPath = /var/log/nginx/error.local.log

AccessLogPath

  • 類型:string

此選項用於為 Nginx UI 設置 Nginx 訪問日誌的路徑,以便我們在線查看日誌內容。

::: tip 提示 在 v2 版本中,我們會讀取 nginx -V 命令的輸出,以獲取 Nginx 訪問日誌的默認路徑。

如果您需要設置不同的路徑,您可以使用此選項。 :::

ErrorLogPath

  • 類型:string

此選項用於為 Nginx UI 設置 Nginx 錯誤日誌的路徑,以便我們在線查看日誌內容。

::: tip 提示 在 v2 版本中,我們會讀取 nginx -V 命令的輸出,以獲取 Nginx 錯誤日誌的默認路徑。

如果您需要設置不同的路徑,您可以使用此選項。 :::

服務監控與控制

在本節中,我們將會介紹 Nginx UI 中關於 Nginx 服務的監控和控制命令的配置選項。

ConfigDir

  • 類型:string

此選項用於設置 Nginx 配置文件夾的路徑。

在 v2 版

本中,我們會讀取 nginx -V 命令的輸出,以獲取 Nginx 配置文件的默認路徑。

如果您需要覆蓋默認路徑,您可以使用此選項。

PIDPath

  • 類型:string

此選項用於設置 Nginx PID 文件的路徑。Nginx UI 將通過判斷該文件是否存在來判斷 Nginx 服務的運行狀態。

在 v2 版本中,我們會讀取 nginx -V 命令的輸出,以獲取 Nginx PID 文件的默認路徑。

如果您需要覆蓋默認路徑,您可以使用此選項。

TestConfigCmd

  • 類型:string
  • 默認值:nginx -t

此選項用於設置 Nginx 測試配置的命令。

ReloadCmd

  • 類型:string
  • 默認值:nginx -s reload

此選項用於設置 Nginx 重新加載配置的命令。

RestartCmd

  • 類型:string

::: tip 提示 我們建議使用 systemd 管理 Nginx 的用戶,將這個值設置為 systemctl restart nginx。 否則,當您在 Nginx UI 中重啟 Nginx 後,將無法在 systemctl 中獲取 Nginx 的準確狀態。 :::

若此選項為空,則 Nginx UI 將使用以下命令關閉 Nginx 服務:

start-stop-daemon --stop --quiet --oknodo --retry=TERM/30/KILL/5 --pidfile $PID

若無法從 nginx -V 中獲得 --sbin-path 路徑,則 Nginx UI 將使用以下命令開啟 Nginx 服務:

start-stop-daemon --start --quiet --pidfile $PID --exec $SBIN_PATH