簡介
官網
GitHub
作者
陳釔蒙
Java編寫的軟件,實現頁面方式配置nginx的各項功能, 包括http協議轉發, tcp協議轉發, 反向代理, 負載均衡, ssl證書自動申請、續簽、配置等, 最終生成nginx.conf文件並覆蓋nginx的默認配置文件, 完成nginx的最終功能配置。
可管理多個nginx服務器集群, 隨時一鍵切換到對應服務器上進行nginx配置, 也可以一鍵將某台服務器配置同步到其他服務器, 方便集群管理
特殊說明
nginx本身功能復雜, 本項目並不能涵蓋nginx所有功能, 只能配置常用功能, 更高級的功能配置仍然需要在最終生成的nginx.conf中進行手動編寫。
技術說明
基於springBoot的web系統, 數據庫使用sqlite, 因此服務器上不需要安裝任何數據庫
添加tcp/ip轉發配置支持時, 一些低版本的nginx可能需要重新編譯,通過添加–with-stream參數指定安裝stream模塊才能使用
安裝
環境說明
centos7
root用戶操作
1、安裝java運行環境和nginx
#推薦使用yum方式安裝nginx)
sudo yum install yum-utils -y
#創建/etc/yum.repos.d/nginx.repo
vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
sudo yum install nginx -y
#安裝JDK
yum install java-1.8.0-openjdk -y
java -version
2、下載最新版發行包jar
sudo wget http://www.nginxwebui.cn/download/nginxWebUI-2.1.4.jar
3、啟動程序
sudo nohup java -jar -Xmx64m nginxWebUI-2.1.4.jar --server.port=8080 --project.home=/home/nginxWebUI/ > /dev/null &
#檢測是否啟動成功
netstat -ntpl|grep 8080
參數說明
-Xmx64m 最大分配內存數
--server.port 占用端口, 默認以8080端口啟動
--project.home 項目配置文件目錄,存放數據庫文件,證書文件,日志等, 默認為/home/nginxWebUI/
注意命令最后加一個&號, 表示項目后台運行
配置
打開 http://xxx.xxx.xxx.xxx:8080 進入主頁
登錄頁面
選擇nginx的安裝方式
使用
系統運行狀態
可以實時監控系統的CPU、磁盤、內存的簡單狀態信息
基本參數配置
設置nginx配置文件的基本選項(配置完成后會在生成conf的新配置文件中顯示)
http參數配置
nginx配置文件中的http區域的參數配置(配置完成后會在生成conf的新配置文件中顯示)
stream參數配置
nginx配置文件中的stream作用域的參數配置(配置完成后會在生成conf的新配置文件中顯示)
反向代理
可以進行添加反向代理、可以導入nginx.conf配置文件,也可以檢查端口占用情況
(如果要使用四層負載,需要單獨編譯安裝nginx的四層模塊,詳見nginx官方文檔)
nginx中有的stream + server +listen + proxy 等多種組合方式實現調度的目的。
負載均衡
七層HTTP的負載,還可以負載節點監控
設置負載均衡的負載節點監控,可以發送SMTP發送郵件。
區別:反向代理的概念是指四層TCP方式調度請求;負載均衡是指七層HTTP方式調度請求,他們的目的都是調度用戶請求,減緩后端服務器壓力,只不過一個是四層,一個是七層
參數模板
設置常用的參數,方便下次使用。
靜態網頁上傳
上傳靜態頁面的zip包,位置在/home/nginxWebUI/wwww/xxx文件,自動解壓。
密碼文件管理
密碼備忘錄的功能
證書管理
可以自動續費證書
生成conf
可以在此處 restart、reload、stop、start、讀取配置文件、替換文件(替換則會自動備份到備份文件管理)
對比兩次文件的修改細節
需要設置nginx的nginx.conf路徑; nginx執行命令 nginx目錄等。
備份文件管理
每次修改配置文件時進行備份,用於回退nginx配置。
日志解析
借助作者的日志分析,我現在還沒搞明白日志是指哪個日志?
管理員管理
登錄用戶的管理
數據導入導出
日志、配置文件的導出。
遠程管理
遠程服務器
優化
升級
問題
找回密碼
1、安裝sqlite3命令
yum install -y sqlite-3.7.17-8.el7_7.1.i686
2、讀取sqlite.db文件
sqlite3 /home/nginxWebUI/sqlite.db
3、查找admin表
select * from admin;
4、退出sqlite3
.quit
2、日志分析是指nginx的日志還是nginxwebui的日志?
3、證書管理中的Ali_Key 是什么意思?
4、nginx的配置文件並沒有被修改,頁面修改影響的是/home/nginxWebUI/nginx.conf,但是可以作用到nginx的狀態,就很奇怪。
[root@localhost nginx]# tail -n 10 /etc/nginx/nginx.conf
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
[root@localhost nginx]# tail -n 10 /home/nginxWebUI/nginx.conf
gzip_min_length 8k;
gzip_comp_level 2;
client_max_body_size 1024m;
client_header_buffer_size 32k;
client_body_buffer_size 8m;
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
}