惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
D
DataBreaches.Net
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
V
Visual Studio Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
B
Blog RSS Feed
Recent Announcements
Recent Announcements
The Register - Security
The Register - Security
S
Secure Thoughts
Y
Y Combinator Blog
The Last Watchdog
The Last Watchdog
L
LINUX DO - 最新话题
V2EX - 技术
V2EX - 技术
腾讯CDC
GbyAI
GbyAI
G
Google Developers Blog
博客园 - 司徒正美
博客园 - 三生石上(FineUI控件)
T
The Exploit Database - CXSecurity.com
T
Threat Research - Cisco Blogs
P
Proofpoint News Feed
Schneier on Security
Schneier on Security
Microsoft Security Blog
Microsoft Security Blog
Jina AI
Jina AI
WordPress大学
WordPress大学
aimingoo的专栏
aimingoo的专栏
MyScale Blog
MyScale Blog
Help Net Security
Help Net Security
K
Kaspersky official blog
P
Privacy & Cybersecurity Law Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
AI
AI
MongoDB | Blog
MongoDB | Blog
Scott Helme
Scott Helme
J
Java Code Geeks
Engineering at Meta
Engineering at Meta
H
Heimdal Security Blog
H
Help Net Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
云风的 BLOG
云风的 BLOG
Microsoft Azure Blog
Microsoft Azure Blog
S
Security Affairs
TaoSecurity Blog
TaoSecurity Blog
The GitHub Blog
The GitHub Blog
Hacker News: Ask HN
Hacker News: Ask HN
Martin Fowler
Martin Fowler
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Project Zero
Project Zero
T
The Blog of Author Tim Ferriss
Last Week in AI
Last Week in AI

博客园 - 心冰之海

最佳的免费Linux杀毒软件有哪些 源代码管理工具TFS简介 信息安全岗位技能提升路径图 IDEA,mysql,mysql workbeanch 新手开发环境搭建教程 JVM-性能优化工具 MAT SQL SERVER死锁查询,死锁分析,解锁,查询占用 Spring Boot热更新技巧:节省90%重启时间 Java spring boot 银河麒麟系统V10安装mysql5.7 Keycloak 安装 使用 DBeaver 企业版将 SQL Server 数据库迁移至达梦 DM8 DBeaver 23.2 AI 智能体 DeepSeek本地化部署超简单,比装个office还简单 数据可视化分析平台 DataEase .NET 6应用程序适配国产银河麒麟V10系统随记 Linux上使用docker部署.net8项目详细教程 Nginx的安装并配置web服务 AI编程
nginxUI 安装及学习
心冰之海 · 2025-01-16 · via 博客园 - 心冰之海

https://www.nginxwebui.cn/

开源地址

https://gitee.com/cym1102/nginxWebUI

功能说明

本项目可以使用WebUI配置nginx的各项功能, 包括http协议转发, tcp协议转发, 反向代理, 负载均衡, ssl证书自动申请、续签、配置等, 最终生成nginx.conf文件并覆盖nginx的默认配置文件, 完成nginx的最终功能配置.

本项目可管理多个nginx服务器集群, 随时一键切换到对应服务器上进行nginx配置, 也可以一键将某台服务器配置同步到其他服务器, 方便集群管理

nginx本身功能复杂, 本项目并不能涵盖nginx所有功能, 只能配置常用功能, 更高级的功能配置仍然需要在最终生成的nginx.conf中进行手动编写。

部署此项目后, 配置nginx再也不用上网各种搜索, 再也不用手动申请和配置ssl证书, 只需要在本项目中进行增删改查就可方便的配置nginx。

视频教程: https://www.bilibili.com/video/BV18A4y1D7GZ

技术说明

本项目是基于solon的web系统, 数据库使用h2, 因此服务器上不需要安装任何数据库

本系统通过Let's encrypt申请证书, 使用acme.sh脚本进行自动化申请和续签, 开启续签的证书将在每天凌晨2点进行续签, 只有超过60天的证书才会进行续签. 只支持在linux下签发证书.

添加tcp/ip转发配置支持时, 一些低版本的nginx可能需要重新编译,通过添加–with-stream参数指定安装stream模块才能使用, 但在ubuntu 18.04下, 官方软件库中的nginx已经带有stream模块, 不需要重新编译. 本系统如果配置了tcp转发项的话, 会自动引入ngx_stream_module.so的配置项, 如果没有开启则不引入, 最大限度优化ngnix配置文件.

jar安装说明

以Ubuntu操作系统为例

注意:本项目需要在root用户下运行系统命令,极容易被黑客利用,请一定修改密码为复杂密码

1.安装java环境和nginx

Ubuntu:

apt install openjdk-8-jdk
apt install nginx

Centos:

yum install java-1.8.0-openjdk
yum install nginx

Windows:

下载JDK安装包 https://www.oracle.com/java/technologies/downloads/
配置JAVA环境变量
JAVA_HOME : JDK安装目录
Path : JDK安装目录\bin
重启电脑

2.下载最新版发行包jar

Linux: mkdir /home/nginxWebUI/
           wget -O /home/nginxWebUI/nginxWebUI.jar https://gitee.com/cym1102/nginxWebUI/releases/download/4.2.5/nginxWebUI-4.2.5.jar
Windows: 直接使用浏览器下载 https://gitee.com/cym1102/nginxWebUI/releases/download/4.2.5/nginxWebUI-4.2.5.jar

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

3.启动程序

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/

参数说明(都是非必填)

--server.port 占用端口, 默认以8080端口启动

--project.home 项目配置文件目录,存放数据库文件,证书文件,日志等, 默认为/home/nginxWebUI/

--spring.database.type=mysql 使用其他数据库,不填为使用本地h2,可选mysql

--spring.datasource.url=jdbc:mysql://ip:port/nginxwebui 数据库url

--spring.datasource.username=root 数据库用户

--spring.datasource.password=pass 数据库密码

注意Linux命令最后加一个&号, 表示项目后台运行

docker安装说明

本项目制作了docker镜像, 同时包含nginx和nginxWebUI在内, 一体化管理与运行nginx.

1.安装docker容器环境

ubuntu:

apt install docker.io

centos:

yum install docker

2.下载镜像:

docker pull cym1102/nginxwebui:latest
或者
docker pull registry.cn-hangzhou.aliyuncs.com/cym19871102/nginxwebui:latest

启动容器:

docker run -itd -v /home/nginxWebUI:/home/nginxWebUI -e BOOT_OPTIONS="--server.port=8080" --net=host --restart=always cym1102/nginxwebui:latest
或者
docker run -itd -v /home/nginxWebUI:/home/nginxWebUI -e BOOT_OPTIONS="--server.port=8080" --net=host --restart=always registry.cn-hangzhou.aliyuncs.com/cym19871102/nginxwebui:latest

注意:

启动容器时请使用--net=host参数, 直接映射本机端口, 因为内部nginx可能使用任意一个端口, 所以必须映射本机所有端口.

容器需要映射路径/home/nginxWebUI:/home/nginxWebUI, 此路径下存放项目所有数据文件, 包括数据库, nginx配置文件, 日志, 证书等, 升级镜像时, 此目录可保证项目数据不丢失. 请注意备份.

-e BOOT_OPTIONS 参数可填充java启动参数, 可以靠此项参数修改端口号, "--server.port 占用端口", 不填默认以8080端口启动

日志默认存放在/home/nginxWebUI/log/nginxWebUI.log

编译说明

1.使用maven编译打包

mvn clean package

2.使用docker构建镜像

docker build -t nginxwebui:4.2.5 .

接口开发

本系统提供http接口调用, 只要打开 http://xxx.xxx.xxx.xxx:8080/doc.html即可查看knife4j接口页面.

接口调用需要在header中添加token, 其中token的获取需要在管理员管理中, 打开用户的接口调用权限, 然后通过用户名密码调用获取token接口, 才能得到token, 然后在knife4j的文档管理中设置全局token.

找回密码

如果忘记了登录密码或没有保存两步验证二维码,可按如下教程重置密码和关闭两步验证.

1.jar安装方式, 执行命令

java -jar /home/nginxWebUI/nginxWebUI.jar --project.home=/home/nginxWebUI/ --project.findPass=true

--project.home 为项目文件所在目录, 使用docker容器时为映射目录

--project.findPass 为是否打印用户名密码

运行成功后即可重置并打印出全部用户名密码并关闭两步验证

2.docker安装方式, 首先执行进入docker容器的命令, 其中{ID}为容器的id

docker exec -it {ID} /bin/sh

再执行命令

java -jar /home/nginxWebUI.jar --project.findPass=true

运行成功后即可重置并打印出全部用户名密码并关闭两步验证