自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Nginx 可視化神器!復雜配置一鍵生成,監(jiān)控管理一條龍!

開發(fā) 項目管理
nginxWebUI也可管理多個nginx服務器集群, 隨時一鍵切換到對應服務器上進行nginx配置,也可以一鍵將某臺服務器配置同步到其他服務器,方便集群管理。

nginxWebUI是一款圖形化管理nginx配置的工具,可以使用網(wǎng)頁來快速配置nginx的各項功能,包括http協(xié)議轉(zhuǎn)發(fā)、tcp協(xié)議轉(zhuǎn)發(fā)、反向代理、負載均衡、靜態(tài)html服務器、ssl證書自動申請、續(xù)簽、配置等。配置好后可一鍵生成nginx.conf文件,同時可控制nginx使用此文件進行啟動與重載,完成對nginx的圖形化控制閉環(huán)。

nginxWebUI也可管理多個nginx服務器集群, 隨時一鍵切換到對應服務器上進行nginx配置,也可以一鍵將某臺服務器配置同步到其他服務器,方便集群管理。

nginx本身功能復雜, nginxWebUI并不能涵蓋nginx所有功能,但能覆蓋nginx日常90%的功能使用配置,平臺沒有涵蓋到的nginx配置項,可以使用自定義參數(shù)模板,在conf文件中生成配置獨特的參數(shù)。

部署此項目后,配置nginx再也不用上網(wǎng)各種搜索配置代碼,再也不用手動申請和配置ssl證書,只需要在本項目中進行增刪改查就可方便的配置和啟動nginx。

技術說明

本項目是基于solon的web系統(tǒng),數(shù)據(jù)庫使用h2,因此服務器上不需要安裝任何數(shù)據(jù)庫。

本系統(tǒng)通過Let's encrypt申請證書,使用acme.sh腳本進行自動化申請和續(xù)簽,開啟續(xù)簽的證書將在每天凌晨2點進行續(xù)簽, 只有超過60天的證書才會進行續(xù)簽,只支持在linux下簽發(fā)證書。

添加tcp/ip轉(zhuǎn)發(fā)配置支持時,一些低版本的nginx可能需要重新編譯,通過添加–with-stream參數(shù)指定安裝stream模塊才能使用,但在ubuntu 18.04下,官方軟件庫中的nginx已經(jīng)帶有stream模塊,不需要重新編譯。本系統(tǒng)如果配置了tcp轉(zhuǎn)發(fā)項的話,會自動引入ngx_stream_module.so的配置項,如果沒有開啟則不引入,最大限度優(yōu)化ngnix配置文件。

jar安裝說明

以Ubuntu操作系統(tǒng)為例:

安裝java運行環(huán)境和nginx

Ubuntu:

apt update
apt install openjdk-11-jdk
apt install nginx

Centos:

yum install java-11-openjdk
yum install nginx

Windows:

下載JDK安裝包 https://www.oracle.com/java/technologies/downloads/
下載nginx http://nginx.org/en/download.html
配置JAVA運行環(huán)境
JAVA_HOME : JDK安裝目錄
Path : JDK安裝目錄\bin
重啟電腦

下載最新版發(fā)行包jar

Linux: mkdir /home/nginxWebUI/
       wget -O /home/nginxWebUI/nginxWebUI.jar http://file.nginxwebui.cn/nginxWebUI-3.4.4.jar
Windows: 直接使用瀏覽器下載 http://file.nginxwebui.cn/nginxWebUI-3.4.4.jar 到 D:/home/nginxWebUI/nginxWebUI.jar

有新版本只需要修改路徑中的版本即可

啟動程序

Linux: nohup java -jar -Dfile.encoding=UTF-8 /home/nginxWebUI/nginxWebUI.jar --server.port=8080 --project.home=/home/nginxWebUI/ > /dev/null &
Windows: java -jar -Dfile.encoding=UTF-8 D:/home/nginxWebUI/nginxWebUI.jar --server.port=8080 --project.home=D:/home/nginxWebUI/

參數(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命令最后加一個&號,表示項目后臺運行

Docker安裝說明

本項目制作了docker鏡像,支持 x86_64/arm64/arm v7 平臺,同時包含nginx和nginxWebUI在內(nèi),一體化管理與運行nginx。

安裝docker容器環(huán)境

Ubuntu:

apt install docker.io

Centos:

yum install docker

拉取鏡像:

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"

編譯說明

使用maven編譯打包

mvn clean package

使用docker構建鏡像

docker build -t nginxwebui:latest .

添加開機啟動

編輯service配置

vim /etc/systemd/system/nginxwebui.service
[Unit]
Description=NginxWebUI
After=syslog.target
After=network.target
 
[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/home/nginxWebUI
ExecStart=/usr/bin/java -jar /home/nginxWebUI/nginxWebUI.jar
Restart=always
 
[Install]
WantedBy=multi-user.target

之后執(zhí)行

systemctl daemon-reload
systemctl enable nginxwebui.service
systemctl start nginxwebui.service

使用說明

打開 http://xxx.xxx.xxx.xxx:8080 進入主頁

圖片圖片

登錄頁面,第一次打開會要求初始化管理員賬號

圖片圖片

進入系統(tǒng)后,可在管理員管理里面添加修改管理員賬號

圖片圖片

在http參數(shù)配置中可以配置nginx的http項目,進行http轉(zhuǎn)發(fā),默認會給出幾個常用配置,其他需要的配置可自由增刪改查??梢怨催x開啟日志跟蹤,生成日志文件。

圖片圖片

在TCP參數(shù)配置中可以配置nginx的stream項目參數(shù),大多數(shù)情況下可不配。

圖片圖片

在反向代理中可配置nginx的反向代理即server項功能,可開啟ssl功能,可以直接從網(wǎng)頁上上傳pem文件和key文件,或者使用系統(tǒng)內(nèi)申請的證書,可以直接開啟http轉(zhuǎn)跳https功能,也可開啟http2協(xié)議。

圖片圖片

在負載均衡中可配置nginx的負載均衡即upstream項功能,在反向代理管理中可選擇代理目標為配置好的負載均衡

圖片圖片

在html靜態(tài)文件上傳中可直接上傳html壓縮包到指定路徑,上傳后可直接在反向代理中使用,省去在Linux中上傳html文件的步驟

圖片圖片

在證書管理中可添加證書,并進行簽發(fā)和續(xù)簽,開啟定時續(xù)簽后,系統(tǒng)會自動續(xù)簽即將過期的證書。

注意:證書的簽發(fā)是用的acme.sh的dns模式,需要配合阿里云的aliKey和aliSecret來使用。請先申請好aliKey和aliSecret

圖片圖片

備份文件管理,這里可以看到nginx.cnf的備份歷史版本,nginx出現(xiàn)錯誤時可以選擇回滾到某一個歷史版本

圖片圖片

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

圖片圖片

遠程服務器管理,如果有多臺nginx服務器,可以都部署上nginxWebUI,然后登錄其中一臺,在遠程管理中添加其他服務器的ip和用戶名,就可以在一臺機器上管理所有的nginx服務器了。

提供一鍵同步功能,可以將某一臺服務器的數(shù)據(jù)配置和證書文件同步到其他服務器中

接口開發(fā)

本系統(tǒng)提供http接口調(diào)用,打開 http://xxx.xxx.xxx.xxx:8080/doc.html 即可查看smart-doc接口頁面。

接口調(diào)用需要在http請求header中添加token,其中token的獲取需要先在管理員管理中,打開用戶的接口調(diào)用權限,然后通過用戶名調(diào)用獲取token接口,才能得到token

圖片圖片

找回密碼

如果忘記了登錄密碼或沒有保存兩步驗證,可按如下教程找回密碼和關閉兩步驗證

停止nginxWebUI

pkill java

使用找回密碼參數(shù)運行nginxWebUI.jar

java -jar nginxWebUI.jar --project.home=/home/nginxWebUI/ --project.findPass=true
  • --project.home 為項目文件所在目錄
  • --project.findPass 為是否打印用戶名密碼

運行成功后即可打印出全部用戶名密碼并關閉兩步驗證

開源地址:https://github.com/cym1102/nginxWebUI

責任編輯:武曉燕 來源: 碼猿技術專欄
相關推薦

2019-10-11 11:00:53

Nginx神器前端

2013-09-13 09:58:49

2012-11-08 14:28:16

2013-12-27 09:00:27

編程語言

2011-05-24 16:04:34

打印機技巧

2011-06-17 15:16:46

打印機技巧

2021-12-28 10:51:32

自動駕駛技術安全

2025-04-27 00:00:00

Milvus向量數(shù)據(jù)庫AI

2020-06-10 16:32:43

百度谷歌老照片修復

2020-05-11 09:40:47

IDEA代碼神器

2021-10-14 08:40:58

前端技術數(shù)據(jù)可視化

2020-04-20 17:16:58

Python數(shù)據(jù)處理

2009-04-21 14:26:41

可視化監(jiān)控IT管理摩卡

2020-07-16 13:00:18

人工智能機器學習技術

2020-07-20 09:49:56

開源技術 趨勢

2020-02-27 08:59:11

DebugCode開源工具

2023-04-14 08:21:55

2021-08-27 10:04:53

機器人

2022-02-23 09:50:52

PythonEchartspyecharts

2021-07-02 14:07:00

可視化Plotly漏斗圖
點贊
收藏

51CTO技術棧公眾號