圖形化的 Nginx 配置管理工具:NginxWebUI

◆?簡介
https://gitee.com/cym1102/nginxWebUI,目前版本為 v3.2.1。

◆?使用
NginxWebUI 是基于solon的web系統(tǒng),數(shù)據(jù)庫使用h2,因此服務(wù)器上不需要安裝任何數(shù)據(jù)庫。
NginxWebUI通過Let's encrypt申請證書,使用 acme.sh 腳本進行自動化申請和續(xù)簽,開啟續(xù)簽的證書將在每天凌晨2點進行續(xù)簽,只有超過60天的證書才會進行續(xù)簽。
NginxWebUI安裝簡單,首先需要Java運行環(huán)境和Nginx,以Ubuntu系統(tǒng)為例:
apt update
apt install openjdk-11-jdk
apt install nginx然后下載最新版發(fā)行包 jar:
wget -O /home/nginxWebUI/nginxWebUI.jar http://file.nginxwebui.cn/nginxWebUI-3.2.1.jar有新版本只需要修改路徑中的版本即可。
然后,啟動程序:
nohup java -jar -Dfile.encoding=UTF-8 /home/nginxWebUI/nginxWebUI.jar --server.port=8080 --project.home=/home/nginxWebUI/ > /dev/null &參數(shù)說明 (都是非必填)
--server.port 占用端口, 默認以8080端口啟動
--project.home 項目配置文件目錄,存放數(shù)據(jù)庫文件,證書文件,日志等, 默認為/home/nginxWebUI/
--spring.database.type=mysql 使用其他數(shù)據(jù)庫,不填為使用本地h2數(shù)據(jù)庫,可選mysql
--spring.datasource.url=
jdbc:mysql://ip:port/nginxwebui 數(shù)據(jù)庫url
--spring.datasource.username=root 數(shù)據(jù)庫用戶
--spring.datasource.password=pass 數(shù)據(jù)庫密碼
注意Linux命令最后加一個&號,表示項目后臺運行。
NginxWebUI還制作了docker鏡像,支持 x86_64/arm64/arm v7 平臺,同時包含nginx和nginxWebUI在內(nèi),一體化管理與運行nginx。拉取鏡像,
docker pull cym1102/nginxwebui:latest然后啟動鏡像:
docker run -itd \
-v /home/nginxWebUI:/home/nginxWebUI \
-e BOOT_OPTIONS="--server.port=8080" \
--privileged=true \
--net=host \
cym1102/nginxwebui:latest啟動容器時請使用--net=host參數(shù), 直接映射本機端口, 因為內(nèi)部nginx可能使用任意一個端口, 所以必須映射本機所有端口.
容器需要映射路徑/home/nginxWebUI:/home/nginxWebUI, 此路徑下存放項目所有數(shù)據(jù)文件, 包括數(shù)據(jù)庫, nginx配置文件, 日志, 證書等, 升級鏡像時, 此目錄可保證項目數(shù)據(jù)不丟失. 請注意備份.
-e BOOT_OPTIONS 參數(shù)可填充java啟動參數(shù), 可以靠此項參數(shù)修改端口號 --server.port 占用端口, 不填默認以8080端口啟動
日志默認存放在/home/nginxWebUI/log/nginxWebUI.log
也可以很方便地使用docker-compose部署:
version: "3.2"
services:
nginxWebUi-server:
image: cym1102/nginxwebui:latest
volumes:
- type: bind
source: "/home/nginxWebUI"
target: "/home/nginxWebUI"
environment:
BOOT_OPTIONS: "--server.port=8080"
privileged: true
network_mode: "host"安裝完成后啟動,打開
http://xxx.xxx.xxx.xxx:8080 進入主頁:

初始化管理員賬號后,就可以進行配置了。在http參數(shù)配置中可以配置nginx的http項目,進行http轉(zhuǎn)發(fā),默認會給出幾個常用配置,其他需要的配置可自由增刪改查. 可以勾選開啟日志跟蹤,生成日志文件。

在證書管理中可添加證書,并進行簽發(fā)和續(xù)簽,開啟定時續(xù)簽后,系統(tǒng)會自動續(xù)簽即將過期的證書, 注意:證書的簽發(fā)是用的acme.sh的dns模式,需要配合阿里云的aliKey和aliSecret來使用:

最終生成conf文件,可在此進行進一步手動修改,確認修改無誤后,可覆蓋本機conf文件,并進行效驗和重啟, 可以選擇生成單一nginx.conf文件還是按域名將各個配置文件分開放在conf.d下:

NginxWebUI還提供了HTTP接口調(diào)用,可以很方便地利用代碼進行控制。
◆?總結(jié)
NginxWebUI作為一款圖形化管理 Nginx 配置的工具,可以使用網(wǎng)頁來快速配置nginx的各項功能,包括http協(xié)議轉(zhuǎn)發(fā),tcp協(xié)議轉(zhuǎn)發(fā)、反向代理等,可一鍵生成 nginx.conf 文件,同時可控制啟動與重載,大大提升配置效率。

來源:https://www.toutiao.com/article/7076818497049133576/?log_from=ed72585713385_1648089673319
(完)
?關(guān)注公眾號:Java后端編程,回復(fù)下面關(guān)鍵字?
要Java學(xué)習(xí)完整路線,回復(fù)??路線?
缺Java入門視頻,回復(fù):?視頻?
要Java面試經(jīng)驗,回復(fù)??面試?
缺Java項目,回復(fù):?項目?
進Java粉絲群:?加群?
PS:如果覺得我的分享不錯,歡迎大家隨手點贊、在看。
(完) 加我"微信"?獲取一份 最新Java面試題資料 請備注:666,不然不通過~
最近好文
3、突發(fā)!Spring Cloud 爆高危漏洞。。趕緊修復(fù)??!
最近面試BAT,整理一份面試資料《Java面試BAT通關(guān)手冊》,覆蓋了Java核心技術(shù)、JVM、Java并發(fā)、SSM、微服務(wù)、數(shù)據(jù)庫、數(shù)據(jù)結(jié)構(gòu)等等。 獲取方式:關(guān)注公眾號并回復(fù)?java?領(lǐng)取,更多內(nèi)容陸續(xù)奉上。 明天見(??ω??)??
