72 lines
2.1 KiB
Markdown
72 lines
2.1 KiB
Markdown
|
# NGINX 動態 Server 管理工具
|
|||
|
|
|||
|
此專案提供一個簡易的 PHP 網頁介面,可以動態新增和刪除 NGINX Server 配置,並即時重載 NGINX 配置,方便本地多專案開發環境管理。
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## 主要功能
|
|||
|
|
|||
|
- 顯示目前所有 NGINX 動態 Server(以 conf.d/*.conf 設定檔為基礎)
|
|||
|
- 新增 Server:指定 Port 與根目錄(根目錄為指定的相對路徑,會自動補上預設絕對路徑前綴)
|
|||
|
- 刪除 Server
|
|||
|
- 新增、刪除後自動重載 NGINX 配置
|
|||
|
- 預設排除保留端口(如 80、8080)及已被使用的端口
|
|||
|
- 前端輸入檢查,避免重複端口與保留端口使用
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## 系統需求
|
|||
|
|
|||
|
- PHP 7.0 以上
|
|||
|
- NGINX 已安裝且可透過命令行重載
|
|||
|
- PHP 有權限讀寫 NGINX conf.d 目錄
|
|||
|
- 適用於 macOS 或 Linux 環境,路徑請自行調整
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## 專案結構
|
|||
|
|
|||
|
nginx-manager/
|
|||
|
│
|
|||
|
├── conf/
|
|||
|
│ └── conf.d/ # NGINX 動態 Server 設定檔目錄
|
|||
|
├── index.php # 主頁面,顯示及新增刪除 Server
|
|||
|
├── servers.php # 處理新增刪除 Server 請求並重載 NGINX
|
|||
|
└── README.md
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## 使用說明
|
|||
|
|
|||
|
1. 修改 `servers.php` 中的 `$confDir` 及 `$nginxExe` 變數,設定對應的 NGINX 配置目錄與 nginx 可執行檔路徑
|
|||
|
|
|||
|
2. 修改 `index.php` 中 `$basePath` 變數(預設為 `/Users/catantech/Desktop/`,用於拼接使用者輸入的相對路徑)
|
|||
|
|
|||
|
3. 將此專案放置於支援 PHP 的 Web 伺服器中(例如內建 PHP server 或 Apache)
|
|||
|
|
|||
|
4. 開啟瀏覽器進入 `index.php`,即可看到目前動態 Server,並可新增或刪除
|
|||
|
|
|||
|
5. 新增時,請輸入相對於 `$basePath` 的路徑(例如:`Project/Line_Project_1/Official/out-dev`)
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## 注意事項
|
|||
|
|
|||
|
- 確保 PHP 執行者有讀寫 NGINX 動態設定檔目錄的權限
|
|||
|
|
|||
|
- 新增 Server 會立即寫入設定檔並重載 NGINX,請確保 NGINX 配置無誤,避免重載失敗
|
|||
|
|
|||
|
- 本專案不包含完整的安全檢查,建議用於本地開發環境
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## 授權
|
|||
|
|
|||
|
MIT License
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## 聯絡
|
|||
|
|
|||
|
如有問題,歡迎聯絡建喵。
|