1. 程式人生 > 其它 >nginxWebUI視覺化配置,nginx 網頁配置工具

nginxWebUI視覺化配置,nginx 網頁配置工具

功能說明

nginxWebUI 是一款圖形化管理 nginx 配置得工具,可以使用網頁來快速配置 nginx 的各項功能,包括 http 協議轉發,tcp 協議轉發,反向代理,負載均衡,靜態 html 伺服器,ssl 證書自動申請、續簽、配置等,配置好後可一建生成 nginx.conf 檔案,同時可控制 nginx 使用此檔案進行啟動與過載,完成對 nginx 的圖形化控制閉環.

nginxWebUI 也可管理多個 nginx 伺服器叢集,隨時一鍵切換到對應伺服器上進行 nginx 配置,也可以一鍵將某臺伺服器配置同步到其他伺服器,方便叢集管理.

nginx 本身功能複雜,nginxWebUI 並不能涵蓋 nginx 所有功能,但能覆蓋 nginx 日常 90% 的功能使用配置,平臺沒有涵蓋到的 nginx 配置項,可以使用自定義引數模板,在 conf 檔案中生成配置獨特的引數。

部署此專案後,配置 nginx 再也不用上網各種搜尋配置程式碼,再也不用手動申請和配置 ssl 證書,只需要在本專案中進行增刪改查就可方便的配置和啟動 nginx。

技術說明

本專案是基於 solon 的 web 系統,資料庫使用 h2, 因此伺服器上不需要安裝任何資料庫

本系統通過 Let's encrypt 申請證書,使用 acme.sh 指令碼進行自動化申請和續簽,開啟續簽的證書將在每天凌晨 2 點進行續簽,只有超過 50 天的證書才會進行續簽。只支援在 linux 下籤發證書.

新增 tcp/ip 轉發配置支援時,一些低版本的 nginx 可能需要重新編譯,通過新增–with-stream 引數指定安裝 stream 模組才能使用,但在 ubuntu 18.04 下,官方軟體庫中的 nginx 已經帶有 stream 模組,不需要重新編譯。本系統如果配置了 tcp 轉發項的話,會自動引入 ngx_stream_module.so 的配置項,如果沒有開啟則不引入,最大限度優化 ngnix 配置檔案.

jar 安裝說明

以 Ubuntu 作業系統為例,

注意:本專案需要在 root 使用者下執行系統命令,極容易被黑客利用,請一定修改密碼為複雜密碼

1. 安裝 java 執行環境和 nginx

Ubuntu:

1 apt update
2 apt install openjdk-11-jdk
3 apt install nginx

Centos:

yum install java-11-openjdk
yum install nginx

Windows:

1 下載JDK安裝包 https://www.oracle.com/java/technologies/downloads/
2 下載nginx http://nginx.org/en/download.html
3 配置JAVA執行環境 4 JAVA_HOME : JDK安裝目錄 5 Path : JDK安裝目錄\bin 6 重啟電腦

2. 下載最新版發行包 jar

1 Linux: wget -O /home/nginxWebUI/nginxWebUI.jar http://file.nginxwebui.cn/nginxWebUI-3.1.8.jar
2 
3 Windows: 直接使用瀏覽器下載 http://file.nginxwebui.cn/nginxWebUI-3.1.8.jar

有新版本只需要修改路徑中的版本即可

3. 啟動程式

1 Linux: nohup java -jar -Dfile.encoding=UTF-8 /home/nginxWebUI/nginxWebUI.jar --server.port=8080 --project.home=/home/nginxWebUI/ > /dev/null &
2 
3 Windows: java -jar -Dfile.encoding=UTF-8 D:/home/nginxWebUI/nginxWebUI.jar --server.port=8080 --project.home=D:/home/nginxWebUI/

引數說明 (都是非必填)

--server.port 佔用埠,預設以 8080 埠啟動

--project.home 專案配置檔案目錄,存放資料庫檔案,證書檔案,日誌等,預設為 /home/nginxWebUI/

--spring.database.type=mysql 使用其他資料庫,不填為使用本地 h2 資料庫,可選 mysql

--spring.datasource.url=jdbc:mysql://ip:port/nginxwebui 資料庫 url

--spring.datasource.username=root 資料庫使用者

--spring.datasource.password=pass 資料庫密碼

注意 Linux 命令最後加一個 & 號,表示專案後臺執行

docker 安裝說明

本專案製作了 docker 映象,支援 x86/x86_64/arm64/arm v7 平臺,同時包含 nginx 和 nginxWebUI 在內,一體化管理與執行 nginx.

1. 安裝 docker 容器環境

Ubuntu:

apt install docker.io

Centos:

yum install docker

2. 拉取映象:

docker pull cym1102/nginxwebui:latest

3. 啟動容器:

docker run -itd \
  -v /home/nginxWebUI:/home/nginxWebUI \
  -e BOOT_OPTIONS="--server.port=8080" \
  --privileged=true \
  --net=host \
  cym1102/nginxwebui:latest

注意:

  1. 啟動容器時請使用 --net=host 引數,直接對映本機埠,因為內部 nginx 可能使用任意一個埠,所以必須對映本機所有埠.

  2. 容器需要對映路徑 /home/nginxWebUI:/home/nginxWebUI, 此路徑下存放專案所有資料檔案,包括資料庫,nginx 配置檔案,日誌,證書等,升級映象時,此目錄可保證專案資料不丟失。請注意備份.

  3. -e BOOT_OPTIONS 引數可填充 java 啟動引數,可以靠此項引數修改埠號,--server.port 為佔用埠引數,不填預設以 8080 埠啟動

  4. 日誌預設存放在 /home/nginxWebUI/log/nginxWebUI.log

更新說明

1.windows 下支援自動更新 2. 使用 java 實現 tail 命令,跟蹤日誌不再使用 websocket 協議 3. 修復通過非 443,80 埠代理情況下白屏問題 4. 修復匯入檔案過大無法識別問題 5. 修復遠端同步資料過大無法同步問題 6. 修復指定 project.home 後 log 存放路徑錯誤問題 7. 修復 windows 下執行 docker 亂碼問題 8. 替換 mysql 驅動為 8.x, 規避漏洞