nginx界面管理工具之nginxWebUI?搭建與使用方法
一、nginxWebUI
1.nginx網(wǎng)頁(yè)配置工具
官網(wǎng)地址: http://www.nginxwebui.cn
源碼地址:https://git.chihiro.org.cn/chihiro/nginxWebUI
2.功能說(shuō)明
本項(xiàng)目可以使用WebUI配置nginx的各項(xiàng)功能, 包括http協(xié)議轉(zhuǎn)發(fā), tcp協(xié)議轉(zhuǎn)發(fā), 反向代理, 負(fù)載均衡, ssl證書自動(dòng)申請(qǐng)、續(xù)簽、配置等, 最終生成nginx.conf文件并覆蓋nginx的默認(rèn)配置文件, 完成nginx的最終功能配置。
本項(xiàng)目可管理多個(gè)nginx服務(wù)器集群, 隨時(shí)一鍵切換到對(duì)應(yīng)服務(wù)器上進(jìn)行nginx配置, 也可以一鍵將某臺(tái)服務(wù)器配置同步到其他服務(wù)器, 方便集群管理。
nginx本身功能復(fù)雜, 本項(xiàng)目并不能涵蓋nginx所有功能, 只能配置常用功能, 更高級(jí)的功能配置仍然需要在最終生成的nginx.conf中進(jìn)行手動(dòng)編寫。
部署此項(xiàng)目后, 配置nginx再也不用上網(wǎng)各種搜索, 再也不用手動(dòng)申請(qǐng)和配置ssl證書, 只需要在本項(xiàng)目中進(jìn)行增刪改查就可方便的配置nginx。
3.技術(shù)說(shuō)明
本項(xiàng)目是基于springBoot的web系統(tǒng), 數(shù)據(jù)庫(kù)使用sqlite, 因此服務(wù)器上不需要安裝任何數(shù)據(jù)庫(kù)。
其中orm使用了本人自己開(kāi)源的sqlHelper項(xiàng)目作為orm, 使用sqlite作為數(shù)據(jù)庫(kù), 項(xiàng)目啟動(dòng)時(shí)會(huì)釋放一個(gè).sqlite.db到系統(tǒng)用戶文件夾中, 注意進(jìn)行備份。
sqlHelper是一個(gè)可以像 mongodb 一樣使用 sql 數(shù)據(jù)庫(kù)的 orm, 解放開(kāi)發(fā)者對(duì)sql數(shù)據(jù)庫(kù)表結(jié)構(gòu)的維護(hù)工作, 支持sqlite, mysql, postgresql三種數(shù)據(jù)庫(kù), 有興趣的可以了解一下 https://gitee.com/cym1102/sqlHelper。
本系統(tǒng)通過(guò)Let’s encrypt申請(qǐng)證書, 使用acme.sh腳本進(jìn)行自動(dòng)化申請(qǐng)和續(xù)簽, 開(kāi)啟續(xù)簽的證書將在每天凌晨 2 點(diǎn)進(jìn)行續(xù)簽, 只有超過(guò) 60 天的證書才會(huì)進(jìn)行續(xù)簽. 只支持在linux下簽發(fā)證書。
因?yàn)樯暾?qǐng)證書必須要使用 80 端口, 因此在申請(qǐng)和續(xù)簽的時(shí)候 nginx 將會(huì)短暫關(guān)閉,請(qǐng)注意。
添加tcp/ip轉(zhuǎn)發(fā)配置支持時(shí), 一些低版本的 nginx 可能需要重新編譯,通過(guò)添加–with-stream參數(shù)指定安裝stream模塊才能使用, 但在ubuntu 18.04下, 官方軟件庫(kù)中的nginx已經(jīng)帶有stream模塊, 不需要重新編譯. 本系統(tǒng)如果配置了tcp轉(zhuǎn)發(fā)項(xiàng)的話, 會(huì)自動(dòng)引入ngx_stream_module.so的配置項(xiàng), 如果沒(méi)有開(kāi)啟則不引入, 最大限度優(yōu)化ngnix配置文件。
二、jar 安裝說(shuō)明
以Ubuntu操作系統(tǒng)為例, 以下命令請(qǐng)使用root賬戶權(quán)限執(zhí)行
注意:本項(xiàng)目需要在root用戶下運(yùn)行系統(tǒng)命令,極容易被黑客利用,請(qǐng)一定修改密碼為復(fù)雜密碼
1.安裝java運(yùn)行環(huán)境和nginx
apt install openjdk-8-jdkapt install nginx
2.下載最新版發(fā)行包jar
wget http://www.nginxwebui.cn/download/nginxWebUI-2.1.6.jar #有新版本只需要修改路徑中的版本即可
3.啟動(dòng)程序
nohup java -jar -Xmx64m nginxWebUI-2.1.6.jar --server.port=8080 --project.home=/home/nginxWebUI/ > /dev/null &
參數(shù)說(shuō)明 (都是非必填)
- -Xmx64m 最大分配內(nèi)存數(shù)
- –server.port 占用端口, 默認(rèn)以 8080 端口啟動(dòng)
- –project.home 項(xiàng)目配置文件目錄,存放數(shù)據(jù)庫(kù)文件,證書文件,日志等, 默認(rèn)為/home/nginxWebUI/
注意命令最后加一個(gè)&號(hào), 表示項(xiàng)目后臺(tái)運(yùn)行
三、docker安裝說(shuō)明
本項(xiàng)目制作了docker
鏡像, 同時(shí)包含nginx
和nginxWebUI
在內(nèi), 一體化管理與運(yùn)行nginx
.
1.安裝docker容器環(huán)境
apt install docker.io
2.下載鏡像
docker pull registry.cn-hangzhou.aliyuncs.com/cym1102/nginxwebui:2.1.6
3.啟動(dòng)容器
docker run -itd -v /home/nginxWebUI:/home/nginxWebUI -e BOOT\_OPTIONS="--變量名=變量值 --變量名2=變量值2" --privileged=true --net=host registry.cn-hangzhou.aliyuncs.com/cym1102/nginxwebui:2.1.6 /bin/bash
注意:
啟動(dòng)容器時(shí)請(qǐng)使用–net=host參數(shù), 直接映射本機(jī)端口, 因?yàn)閮?nèi)部nginx可能使用任意一個(gè)端口, 所以必須映射本機(jī)所有端口.
容器需要映射路徑/home/nginxWebUI:/home/nginxWebUI, 此路徑下存放項(xiàng)目所有數(shù)據(jù)文件, 包括數(shù)據(jù)庫(kù), nginx配置文件, 日志, 證書等, 升級(jí)鏡像時(shí), 此目錄可保證項(xiàng)目數(shù)據(jù)不丟失. 請(qǐng)注意備份.
-e BOOT_OPTIONS 參數(shù)可填充java啟動(dòng)參數(shù), jar安裝教程中的參數(shù)均可使用, 可以靠此項(xiàng)參數(shù)修改端口號(hào)等
日志默認(rèn)存放在/home/nginxWebUI/log/nginxWebUI.log
docker-compose
安裝說(shuō)明
docker-compose.yaml
文件如下
version: '3' services: nginxwebui: image: registry.cn-hangzhou.aliyuncs.com/cym1102/nginxwebui:2.1.6 container_name: nginxwebui restart: always volumes: - ./data:/home/nginxWebUI environment: - BOOT_OPTIONS==-Xmx64m - TZ=Asia/shanghai privileged: true network_mode: "host"
注意:項(xiàng)目下所有數(shù)據(jù)儲(chǔ)存在
yaml
文件同目錄下的data
文件夾中。
使用說(shuō)明
打開(kāi) http://xxx.xxx.xxx.xxx:8080
進(jìn)入主頁(yè)
登錄頁(yè)面, 第一次打開(kāi)會(huì)要求初始化管理員賬號(hào)
進(jìn)入系統(tǒng)后, 可在管理員管理里面添加修改管理員賬號(hào)
在http參數(shù)配置中可以配置nginx的http項(xiàng)目, 進(jìn)行http轉(zhuǎn)發(fā), 默認(rèn)會(huì)給出幾個(gè)常用配置, 其他需要的配置可自由增刪改查. 可以勾選開(kāi)啟日志跟蹤, 生成日志跟蹤配置項(xiàng), 每天 0 點(diǎn)時(shí)刻可生成上一天的日志分析報(bào)告. 由于日志文件access.log文件過(guò)大, 默認(rèn)只保留 7 天的log文件, 但分析報(bào)告可一直保留.
在 TCP 參數(shù)配置中可以配置nginx
的steam
項(xiàng)目參數(shù), 大多數(shù)情況下可不配.
在反向代理中可配置nginx
的反向代理即server
項(xiàng)功能, 可開(kāi)啟ssl
功能, 可以直接從網(wǎng)頁(yè)上上傳pem
文件和key
文件, 或者使用系統(tǒng)內(nèi)申請(qǐng)的證書, 可以直接開(kāi)啟http
轉(zhuǎn)跳https
功能,也可開(kāi)啟http2
協(xié)議
在負(fù)載均衡中可配置nginx
的負(fù)載均衡即upstream
項(xiàng)功能, 在反向代理管理中可選擇代理目標(biāo)為配置好的負(fù)載均衡
在html
靜態(tài)文件上傳中可直接上傳html
壓縮包到指定路徑, 上傳后可直接在反向代理中使用, 省去在Linux
中上傳html
文件的步驟
在證書管理中可添加證書, 并進(jìn)行簽發(fā)和續(xù)簽, 開(kāi)啟定時(shí)續(xù)簽后, 系統(tǒng)會(huì)自動(dòng)續(xù)簽即將過(guò)期的證書。
注意: 證書的簽發(fā)是用的acme.sh的dns模式, 需要配合阿里云的aliKey和aliSecret來(lái)使用. 請(qǐng)先申請(qǐng)好aliKey和aliSecret
備份文件管理, 這里可以看到nginx.cnf
的備份歷史版本, nginx
出現(xiàn)錯(cuò)誤時(shí)可以選擇回滾到某一個(gè)歷史版本
最終生成conf
文件, 可在此進(jìn)行進(jìn)一步手動(dòng)修改, 確認(rèn)修改無(wú)誤后, 可覆蓋本機(jī)conf
文件, 并進(jìn)行效驗(yàn)和重啟, 可以選擇生成單一nginx.conf
文件還是按域名將各個(gè)配置文件分開(kāi)放在conf.d
下
log
管理, 在http
配置中如果開(kāi)啟了log
監(jiān)控的話, 會(huì)每天在這里生成日志分析報(bào)告.
遠(yuǎn)程服務(wù)器管理, 如果有多臺(tái)nginx服務(wù)器, 可以都部署上nginxWebUI, 然后登錄其中一臺(tái), 在遠(yuǎn)程管理中添加其他服務(wù)器的ip和用戶名密碼, 就可以在一臺(tái)機(jī)器上管理所有的nginx服務(wù)器了.
提供一鍵同步功能, 可以將某一臺(tái)服務(wù)器的數(shù)據(jù)配置和證書文件同步到其他服務(wù)器中
找回密碼 如果忘記了登錄密碼,可按如下教程找回密碼 apt install sqlite3 #安裝sqlite3命令 sqlite3 /home/nginxWebUI/sqlite.db #讀取sqlite.db文件 select \* from admin; #查找admin表 quit #退出sqlite3
到此這篇關(guān)于nginx界面管理工具之nginxWebUI 搭建與使用方法的文章就介紹到這了,更多相關(guān)nginxWebUI搭建與使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Nginx配置并兼容HTTP實(shí)現(xiàn)代碼解析
這篇文章主要介紹了Nginx配置并兼容HTTP實(shí)現(xiàn)代碼解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11當(dāng) Nginx 出現(xiàn) 504 錯(cuò)誤的完美解決方法
Nginx是一款流行的Web服務(wù)器和反向代理服務(wù)器,但有時(shí)會(huì)遇到504網(wǎng)關(guān)超時(shí)錯(cuò)誤,這種錯(cuò)誤通常是由后端服務(wù)器響應(yīng)緩慢、Nginx配置不當(dāng)或網(wǎng)絡(luò)問(wèn)題導(dǎo)致的,下面給大家分享Nginx 出現(xiàn) 504 錯(cuò)誤的完美解決方法,一起看看吧2024-09-09nginx配置將HTTPS請(qǐng)求轉(zhuǎn)換成HTTP的方法實(shí)現(xiàn)
Nginx是一個(gè)很流行、很強(qiáng)大的代理軟件,我們可以借助Nginx,設(shè)置 http強(qiáng)轉(zhuǎn)https,本文就來(lái)詳細(xì)的介紹一下,感興趣的可以了解一下2023-09-09詳解Nginx虛擬主機(jī)配置中server_name的具體寫法
這篇文章主要介紹了Nginx虛擬主機(jī)配置中server_name的具體寫法,server_name服務(wù)器名是虛擬主機(jī)中必須配置的重要參數(shù),需要的朋友可以參考下2016-03-03NGINX阻止指定ip的請(qǐng)求問(wèn)題及解決方案
web頁(yè)面做了一個(gè)功能,在websocket請(qǐng)求失敗的情況,會(huì)定時(shí)向服務(wù)端進(jìn)行重試進(jìn)行建立連接,這篇文章給大家介紹NGINX阻止指定ip的請(qǐng)求問(wèn)題及解決方案,感興趣的朋友一起看看吧2024-02-02解讀Nginx和Apache的特點(diǎn)與區(qū)別
這篇文章主要介紹了解讀Nginx和Apache的特點(diǎn)與區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03