最近LZ發現一款好用的網頁版開源工具,一樣它的功能也是Nginx配置生成器,功能很是強大,方便實用,它是:NginxWebUI。javascript
NginxWebUI是一款方便實用的nginx 網頁配置工具,可使用 WebUI 配置 Nginx 的各項功能,包括端口轉發,反向代理,ssl 證書配置,負載均衡等,最終生成「nginx.conf」配置文件並覆蓋目標配置文件,完成 nginx 的功能配置。html
項目地址:https://gitee.com/cym1102/nginxWebUIjava
官方網站:https://nginxwebui.gitee.ionginx
該項目是基於springBoot的web系統,數據庫使用sqlite,所以服務器上不須要安裝任何數據庫。git
本項目可管理多個nginx服務器集羣, 隨時一鍵切換到對應服務器上進行nginx配置, 也能夠一鍵將某臺服務器配置同步到其餘服務器, 方便集羣管理。web
nginx自己功能複雜, 本項目並不能涵蓋nginx全部功能, 只能配置經常使用功能, 更高級的功能配置仍然須要在最終生成的nginx.conf中進行手動編寫。spring
部署此項目後, 配置nginx不再用上網各類搜索, 不再用手動申請和配置ssl證書, 只須要在本項目中進行增刪改查就可方便的配置nginx。sql
它有兩種安裝方式:docker
一種是jar包運行方式數據庫
一種是 Docker運行方式
一、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/
注意命令最後加一個&號, 表示項目後臺運行
二、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網頁來訪問這個項目了。
在瀏覽器直接輸入地址: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服務器了。
提供一鍵同步功能, 能夠將某一臺服務器的數據配置和證書文件同步到其餘服務器中。
整個的配置過程的使用步驟就是這樣。
從總體試用的過程當中看來,還真的是一個很是強大的開源工具,並且很是實用,好用到爆!!!這裏也牆裂推薦給你們,讓你們告別複雜的配置過程,提升工做效率,爲開源做者點贊!!