最近LZ發現一款好用的網頁版開源工具,同樣它的功能也是Nginx配置生成器,功能非常強大,方便實用,它是:NginxWebUI。
NginxWebUI介紹
NginxWebUI是一款方便實用的nginx 網頁配置工具,可以使用 WebUI 配置 Nginx 的各項功能,包括端口轉發,反向代理,ssl 證書配置,負載均衡等,最終生成「nginx.conf」配置文件並覆蓋目標配置文件,完成 nginx 的功能配置。
NginxWebUI功能説明
該項目是基於springBoot的web系統,數據庫使用sqlite,因此服務器上不需要安裝任何數據庫。
本項目可管理多個nginx服務器集羣, 隨時一鍵切換到對應服務器上進行nginx配置, 也可以一鍵將某台服務器配置同步到其他服務器, 方便集羣管理。
nginx本身功能複雜, 本項目並不能涵蓋nginx所有功能, 只能配置常用功能, 更高級的功能配置仍然需要在最終生成的nginx.conf中進行手動編寫。
部署此項目後, 配置nginx再也不用上網各種搜索, 再也不用手動申請和配置ssl證書, 只需要在本項目中進行增刪改查就可方便的配置nginx。
NginxWebUI安裝
它有兩種安裝方式:
一種是jar包運行方式
一種是 Docker運行方式
1、jar包運行方式
首先需要安裝JDK和Nginx環境,這裏不再贅述了,有興趣的可以看看前面的文章。
下載jar包
wget https://craccd.oss-cn-beijing.aliyuncs.com/nginxWebUI-1.3.5.jar
啓動程序
nohup java -jar -Xmx64m nginxWebUI-1.3.5.jar --server.port=8080 ----project.home=/home/nginxWebUI/ &
啓動參數説明:
-Xmx64m 最大分配內存數
--server.port 佔用端口, 默認以8080端口啓動
--project.home 項目配置文件目錄,存放數據庫文件,證書文件,日誌等, 默認為/home/nginxWebUI/
注意命令最後加一個&號, 表示項目後台運行
2、Docker運行方式
本項目製作了docker鏡像, 同時包含nginx和nginxWebUI在內, 一體化管理與運行nginx.
首先安裝docker運行環境,之前公眾號有文章介紹,可以去搜索查閲一下。
下載整體鏡像文件:
docker pull registry.cn-hangzhou.aliyuncs.com/cym1102/nginxwebui:1.3.5
啓動容器:
docker run -itd -v /home/nginxWebUI:/home/nginxWebUI -e BOOT_OPTIONS="--變量名=變量值 --變量名2=變量值2" --privileged=true --net=host registry.cn-hangzhou.aliyuncs.com/cym1102/nginxwebui:1.3.5 /bin/bash
參數説明:
啓動容器時請使用--net=host參數, 直接映射本機端口, 因為內部nginx可能使用任意一個端口, 所以必須映射本機所有端口.
容器需要映射路徑/home/nginxWebUI:/home/nginxWebUI, 此路徑下存放項目所有數據文件, 包括數據庫, nginx配置文件, 日誌, 證書等, 升級鏡像時, 此目錄可保證項目數據不丟失. 請注意備份.
-e BOOT_OPTIONS 參數可填充java啓動參數, jar安裝教程中的參數均可使用, 可以靠此項參數修改端口號等
日誌默認存放在/home/nginxWebUI/log/nginxWebUI.log
安裝完成,啓動之後,就要以通過WEB網頁來訪問這個項目了。
NginxWebUI使用演示
在瀏覽器直接輸入地址:http://serve_ip:8080/訪問
第一次登錄,需要初始化用户,輸入你的用户與密碼,點擊添加即可。
登錄完成之後的界面如下:
在http參數配置中可以配置nginx的http項目,進行http轉發, 默認會給出幾個常用配置, 其他需要的配置可自由增刪改查。可以勾選開啓日誌跟蹤, 生成日誌跟蹤配置項, 每天0點時刻可生成上一天的日誌分析報告。由於日誌文件access.log文件過大, 默認只保留7天的log文件, 但分析報告可一直保留。
在TCP參數配置中可以配置nginx的steam項目參數, 進行tcp轉發。
在反向代理中可配置nginx的反向代理即server項功能, 可開啓ssl功能, 可以直接從網頁上上傳pem文件和key文件, 或者使用系統內申請的證書, 可以直接開啓http轉跳https功能,也可開啓http2協議。
在負載均衡中可配置nginx的負載均衡即upstream項功能, 在反向代理管理中可選擇代理目標為配置好的負載均衡。
在html靜態文件上傳中可直接上傳html壓縮包到指定路徑,上傳後可直接在反向代理中使用,省去在Linux中上傳html文件的步驟。
在證書管理中可添加證書, 並進行簽發和續簽, 開啓定時續簽後, 系統會自動續簽即將過期的證書。
最終生成conf文件,可在此進行進一步手動修改,確認修改無誤後,可覆蓋本機conf文件,並進行校驗和重啓, 可以選擇生成單一nginx.conf文件還是按域名將各個配置文件分開放在conf.d下。
備份文件管理, 這裏可以看到nginx.cnf的備份歷史版本, nginx出現錯誤時可以選擇回滾到某一個歷史版本。
log管理, 在http配置中如果開啓了log監控的話, 會每天在這裏生成日誌分析報告。
遠程服務器管理, 如果有多台nginx服務器, 可以都部署上nginxWebUI, 然後登錄其中一台, 在遠程管理中添加其他服務器的ip和用户名密碼, 就可以在一台機器上管理所有的nginx服務器了。
提供一鍵同步功能, 可以將某一台服務器的數據配置和證書文件同步到其他服務器中。
整個的配置過程的使用步驟就是這樣。
從整體試用的過程中看來,還真的是一個非常強大的開源工具,而且非常實用,好用到爆!!!這裏也牆裂推薦給大家,讓大家告別複雜的配置過程,提高工作效率,為開源作者點贊!!