之前民工哥也給大家介紹過一款Nginx配置生成器:強大!Nginx 配置在線一鍵生成“神器”,不太了解的人可以去看一看。
最近民工哥又發現一款好用的網頁版開源工具,同樣它的功能也是Nginx配置生成器,功能非常強大,方便實用,它是:NginxWebUI。
NginxWebUI介紹
NginxWebUI是一款方便實用的nginx 網頁配置工具,可以使用 WebUI 配置 Nginx 的各項功能,包括端口轉發,反向代理,ssl 證書配置,負載均衡等,最終生成「nginx.conf」配置文件並覆蓋目標配置文件,完成 nginx 的功能配置。
項目地址:https://gitee.com/cym1102/nginxWebUI
官方網站:https://nginxwebui.gitee.io
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服務器了。
提供一鍵同步功能, 可以將某一台服務器的數據配置和證書文件同步到其他服務器中。
整個的配置過程的使用步驟就是這樣。
從整體試用的過程中看來,還真的是一個非常強大的開源工具,而且非常實用,好用到爆!!!這里也牆裂推薦給大家,讓大家告別復雜的配置過程,提高工作效率,為開源作者點贊!!
看到這里,如本文對你有所幫助,不要忘記點個在看與轉發分享出去!!