diff --git a/docs/zh_CN/guide/config-server.md b/docs/zh_CN/guide/config-server.md index 2bcade0e..9c706712 100644 --- a/docs/zh_CN/guide/config-server.md +++ b/docs/zh_CN/guide/config-server.md @@ -75,7 +75,7 @@ JWT 是一种用于验证用户身份的标准,它可以在用户登录后生 - 类型:`int` - 默认值:`10` -此选项用于设置 Nginx UI 中列表分页的页面大小。调整页面大小有助于更有效地管理大量数据,但是过大的数量可能会增加服务器的压力。 +此选项用于设置 Nginx UI 中列表分页的页面大小。调整页面大小有助于更有效地管理大量数据,但是过大的数量可能会增加服务器的压力。 ## CADir diff --git a/docs/zh_CN/guide/project-structure.md b/docs/zh_CN/guide/project-structure.md index 17fd709a..50f9a17c 100644 --- a/docs/zh_CN/guide/project-structure.md +++ b/docs/zh_CN/guide/project-structure.md @@ -60,7 +60,7 @@ ├─ internal # 内部包 ├─ api # 向前端提供的 API ├─ model # 数据库模型 -├─ query # gen 自动生成的数据库请求文件 +├─ query # gen 自动生成的数据库查询文件 ├─ router # 路由和中间件 ├─ settings # 配置接口 ├─ test # 单元测试 diff --git a/docs/zh_TW/guide/about.md b/docs/zh_TW/guide/about.md index ff7c2f48..c4d89de1 100644 --- a/docs/zh_TW/guide/about.md +++ b/docs/zh_TW/guide/about.md @@ -61,7 +61,7 @@ Nginx UI 是一個全新的 Nginx 網路管理介面,旨在簡化 Nginx 伺服 Nginx UI 可在以下作業系統中使用: -- Mac OS X 10.10 Yosemite 及之後版本(amd64 / arm64) +- macOS 11 Big Sur 及之後版本(amd64 / arm64) - Linux 2.6.23 及之後版本(x86 / amd64 / arm64 / armv5 / armv6 / armv7) - 包括但不限於 Debian 7 / 8、Ubuntu 12.04 / 14.04 及後續版本、CentOS 6 / 7、Arch Linux - FreeBSD diff --git a/docs/zh_TW/guide/build.md b/docs/zh_TW/guide/build.md index 11ecd7ab..784d1d3b 100644 --- a/docs/zh_TW/guide/build.md +++ b/docs/zh_TW/guide/build.md @@ -5,8 +5,8 @@ ## 依賴 - Make -- Golang 版本 1.20 或更高 -- node.js 版本 18 或更高 +- Golang 版本 1.21 或更高 +- node.js 版本 21 或更高 你需要在構建專案之前執行以下命令更新瀏覽器列表資料庫。 ```shell diff --git a/docs/zh_TW/guide/config-casdoor.md b/docs/zh_TW/guide/config-casdoor.md new file mode 100644 index 00000000..d30bde24 --- /dev/null +++ b/docs/zh_TW/guide/config-casdoor.md @@ -0,0 +1,39 @@ +# Casdoor +本節介紹如何配置 Casdoor 作為 Nginx UI 的身份驗證提供程序,該功能由 @Jraaay 貢獻。 + +Casdoor 是一個強大的、全面的身份認證解決方案,支持 OAuth 2.0、SAML 2.0、LDAP、AD 和多種社交登錄方式。通過集成 Casdoor,Nginx UI 可以利用這些功能來提升安全性和用戶體驗。 + +## Endpoint +- 類型:`string` + +這是 Casdoor 服務器的 URL。您需要確保 Nginx UI 可以訪問此 URL。 + +## ClientId +- 類型:`string` + +這是 Casdoor 為您的應用生成的客戶端 ID。它用於在身份驗證過程中標識您的應用。 + +## ClientSecret +- 類型:`string` + +這是 Casdoor 為您的應用生成的客戶端密鑰。它是保持您的應用安全所必需的。 + +## Certificate +- 類型:`string` + +這是用於身份驗證過程中的證書。確保它是有效和可信的。 + +## Organization +- 類型:`string` + +這是您在 Casdoor 中設置的組織名稱。Casdoor 將使用此信息來處理身份驗證請求。 + +## Application +- 類型:`string` + +這是您在 Casdoor 中創建的應用名稱。 + +## RedirectUri +- 類型:`string` + +這是用戶在成功登錄或授權後重定向到的 URI。它應與 Casdoor 應用配置中的重定向 URI 一致。 diff --git a/docs/zh_TW/guide/config-nginx.md b/docs/zh_TW/guide/config-nginx.md index 64c7f1cc..b8d3606b 100644 --- a/docs/zh_TW/guide/config-nginx.md +++ b/docs/zh_TW/guide/config-nginx.md @@ -1,15 +1,24 @@ -# Nginx 日誌 +# Nginx -Nginx 日誌對於監控、排查問題和維護您的 Web 伺服器至關重要。它們提供了有關伺服器效能、使用者行為和潛在問題的寶貴見解。在本節中,我們將討論兩種主要型別的日誌:訪問日誌和錯誤日誌。 +在本節中,我們將介紹 Nginx UI 中關於 Nginx 控制命令、日誌路徑等參數的配置選項。 -對於從 v1.5.2 或更早版本升級的 Nginx-UI Docker 使用者,在配置 `app.ini` 之前,至關重要的是在您的 `nginx.conf` -中新增單獨的 `access_log` 和 `error_log` 指令。 +::: tip 提示 +自 v2.0.0-beta.3 版本起,我們將 `nginx_log` 配置項改名為 `nginx`。 +::: -在 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 日誌。 +## 日誌 +Nginx 日誌對於監控、排查問題和維護您的 Web 伺服器至關重要。它們提供了有關伺服器性能、用戶行為和潛在問題的寶貴見解。 -示例: +在本節中,我們將討論兩種主要類型的日誌:訪問日誌和錯誤日誌。 + +對於從 v1.5.2 或更早版本升級的 Nginx-UI Docker 用戶,在配置 `app.ini` 之前,您需要在 `nginx.conf` +中添加單獨的 `access_log` 和 `error_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 日誌。 + +範例: ```nginx error_log /var/log/nginx/error.log notice; @@ -23,9 +32,9 @@ http { } ``` -此外,在 `app.ini` 中設定 nginx 訪問日誌和錯誤日誌路徑,然後重新啟動 nginx-ui。 +之後,請在 `app.ini` 中設置 nginx 訪問日誌和錯誤日誌路徑,然後重新啟動 nginx-ui。 -示例: +範例: ```ini [nginx_log] @@ -33,14 +42,82 @@ AccessLogPath = /var/log/nginx/access.local.log ErrorLogPath = /var/log/nginx/error.local.log ``` -## AccessLogPath +### 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` -- 型別:`string` +此選項用於設置 Nginx 配置文件夾的路徑。 -此選項用於為 Nginx UI 設定 Nginx 訪問日誌的路徑,以便我們線上檢視日誌內容。 +在 v2 版 -## ErrorLogPath +本中,我們會讀取 `nginx -V` 命令的輸出,以獲取 Nginx 配置文件的默認路徑。 -- 型別:`string` +如果您需要覆蓋默認路徑,您可以使用此選項。 -此選項用於為 Nginx UI 設定 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 服務: + +```bash +start-stop-daemon --stop --quiet --oknodo --retry=TERM/30/KILL/5 --pidfile $PID +``` + +若無法從 `nginx -V` 中獲得 `--sbin-path` 路徑,則 Nginx UI 將使用以下命令開啟 Nginx 服務: + +```bash +start-stop-daemon --start --quiet --pidfile $PID --exec $SBIN_PATH +``` diff --git a/docs/zh_TW/guide/config-server.md b/docs/zh_TW/guide/config-server.md index e37f1bfd..a7c9db44 100644 --- a/docs/zh_TW/guide/config-server.md +++ b/docs/zh_TW/guide/config-server.md @@ -1,71 +1,97 @@ # 服務端 -Nginx UI 配置的服務端部分涉及控制 Nginx UI 服務的各種設定。在本節中,我們將討論可用的選項、它們的預設值以及它們的目的。 +Nginx UI 配置的服務端部分涉及控制 Nginx UI 服務器的各種設置。在頁面中,我們將討論可用的選項、它們的預設值以及它們的目的。 + +## HttpHost +- 類型: `string` +- 預設值:`0.0.0.0` + +Nginx UI 服務器監聽的主機名。此選項用於配置 Nginx UI 服務器監聽傳入 HTTP 請求的主機名。 更改預設主機名可能有助於提升安全性。 ## HttpPort -- 型別:`int` +- 類型:`int` - 預設值:`9000` -Nginx UI 監聽埠。此選項用於配置 Nginx UI 伺服器監聽傳入 HTTP 請求的埠。更改預設埠對於避免埠衝突或增強安全性可能很有用。 +Nginx UI 服務器監聽端口。此選項用於配置 Nginx UI 服務器監聽傳入 HTTP 請求的端口。更改預設端口對於避免端口衝突或增強安全性可能很有用。 ## RunMode -- 型別:`string` +- 類型:`string` - 支援的值:`release`,`debug` +- 預設值:`debug` -::: tip 提示 -目前,此選項尚無影響。在使用方面,`release` 和 `debug` 之間不會有顯著差異。 -::: +此選項用於配置 Nginx UI 服務器的運行模式,主要影響日誌打印的級別。 + +Nginx UI 的日誌分為 6 個級別,分別為 `Debug`、`Info`、`Warn`、`Error`、`Panic` 和 `Fatal`,這些日誌級別按照嚴重程度遞增, + +當使用 `debug` 模式時,Nginx UI 將在控制台打印 SQL 及其執行的時間和調用者,`Debug` 級別或更高等級的日誌也會被打印。 + +當使用 `release` 模式時,Nginx UI 將不會在控制台打印 SQL 的執行時間和調用者, 只有 `Info` 級別或更高等級的日誌才會被打印。 + +## JwtSecret +- 類型:`string` + +此選項用於配置 Nginx UI 服務器用於生成 JWT 的密鑰。 + +JWT 是一種用於驗證用戶身份的標準,它可以在用戶登錄後生成一個 token,然後在後續的請求中使用該 token 來驗證用戶身份。 + +如果您使用一鍵安裝腳本來部署 Nginx UI,腳本將會生成一個 UUID 值並將它設置為此選項的值。 ## HTTPChallengePort -- 型別:`int` +- 類型:`int` - 預設值:`9180` -在獲取 Let's Encrypt 憑證時,此選項用於在 HTTP01 挑戰模式中設定後端監聽埠。HTTP01 挑戰是 Let's Encrypt -用於驗證您控制請求憑證的域的域驗證方法。 +在獲取 Let's Encrypt 證書時,此選項用於在 HTTP01 + +挑戰模式中設置後端監聽端口。HTTP01 挑戰是 Let's Encrypt 用於驗證您控制請求證書的域的域驗證方法。 + +## Email +- 類型:`string` + +在獲取 Let's Encrypt 證書時,此選項用於設置您的電子郵件地址。Let's Encrypt 會將您的電子郵件地址用於通知您證書的到期時間。 ## Database -- 型別:`string` +- 類型:`string` - 預設值:`database` -此選項用於設定 Nginx UI 用於儲存其資料的 sqlite 資料庫的名稱。 +此選項用於設置 Nginx UI 用於存儲其數據的 sqlite 數據庫的名稱。 ## StartCmd -- 型別:`string` +- 類型:`string` - 預設值:`login` -此選項用於設定 Web 終端的啟動命令。 +此選項用於設置 Web 終端的啟動命令。 ::: warning 警告 -出於安全原因,我們將啟動命令設定為 `login`,因此您必須透過 Linux 的預設身份驗證方法登入。如果您不想每次訪問 Web -終端時都輸入使用者名稱和密碼進行驗證,請將其設定為 `bash` 或 `zsh`(如果已安裝)。 +出於安全原因,我們將啟動命令設置為 `login`,因此您必須通過 Linux 的預設身份驗證方法登錄。如果您不想每次訪問 Web +終端時都輸入用戶名和密碼進行驗證,請將其設置為 `bash` 或 `zsh`(如果已安裝)。 ::: ## PageSize -- 型別:`int` -- 預設值:10 +- 類型:`int` +- 預設值:`10` -此選項用於設定 Nginx UI 中列表分頁的頁面大小。調整頁面大小有助於更有效地管理大量資料,但是過大的數量可能會增加伺服器的壓力。 +此選項用於設置 Nginx UI 中列表分頁的頁面大小。調整頁面大小有助於更有效地管理大量數據,但是過大的數量可能會增加服務器的壓力。 ## CADir -- 型別:`string` +- 類型:`string` -在申請 Let's Encrypt 憑證時,我們使用 Let's Encrypt 的預設 CA 位址。如果您需要除錯或從其他提供商獲取憑證,您可以將 CADir -設定為他們的位址。 +在申請 Let's Encrypt 證書時,我們使用 Let's Encrypt 的預設 CA 地址。如果您需要調試或從其他提供商獲取證書,您可以將 CADir +設置為他們的地址。 ::: tip 提示 -請注意,CADir 提供的位址需要符合 `RFC 8555` 標準。 +請注意,CADir 提供的地址需要符合 `RFC 8555` 標準。 ::: ## GithubProxy -- 型別:`string` +- 類型:`string` - 建議:`https://mirror.ghproxy.com/` -對於可能在從 Github 下載資源時遇到困難的使用者(如在中國大陸),此選項允許他們為 github.com 設定代理,以提高可訪問性。 +對於可能在從 Github 下載資源時遇到困難的用戶(如在中國大陸),此選項允許他們為 github.com 設置代理,以提高可訪問性。 diff --git a/docs/zh_TW/guide/project-structure.md b/docs/zh_TW/guide/project-structure.md index 8b1cf585..79e41ee9 100644 --- a/docs/zh_TW/guide/project-structure.md +++ b/docs/zh_TW/guide/project-structure.md @@ -6,8 +6,7 @@ . ├─ docs # 手冊資料夾 ├─ cmd # 命令列工具 -├─ app # 使用 Vue 3 構建的前端 -├─ server # 使用 Golang 構建的後端 +├─ app # 使用 Vue 3 構建的前端 ├─ resources # 其他資源,不參與構建 ├─ template # 用於 Nginx 的模板檔案 ├─ app.example.ini # 配置檔案的示例 @@ -48,8 +47,7 @@ │ │ ├─ routes # Vue 路由 │ │ ├─ views # Vue 檢視 │ │ ├─ gettext.ts # 定義翻譯 -│ │ ├─ style.less # 全域性樣式,使用 less 語法 -│ │ ├─ dark.less # 暗黑主題樣式,使用 less 語法 +│ │ ├─ style.css # 集成 tailwind │ │ └─ ... │ └─ ... └─ ... @@ -59,18 +57,14 @@ ``` . -├─ server -│ ├─ internal # 內部包 -│ │ └─ ... -│ ├─ api # 向前端提供的 API -│ ├─ model # 自動生成的模型 -│ ├─ query # gen 自動生成的資料庫請求檔案 -│ ├─ router # 路由和中介軟體 -│ ├─ service # 服務檔案 -│ ├─ settings # 配置介面 -│ ├─ test # 單元測試 -│ └─ ... -├─ main.go # 後端入口 +├─ internal # 內部包 +├─ api # 向前端提供的 API +├─ model # 數據庫模型 +├─ query # gen 自動生成的數據庫查詢文件 +├─ router # 路由和中間件 +├─ settings # 後端配置 +├─ test # 單元測試 +├─ main.go # 主程序入口 └─ ... ```