功能说明
本项目可以使用WebUI来配置nginx的各项功能,包括http协议转发、tcp协议转发、反向代理、负载均衡、ssl证书的自动申请、续订、配置等等,并最终生成nginx.conf文件并覆盖nginx默认配置文件,完成nginx最终的功能配置。
本项目可以管理多个nginx服务器集群,可以随时一键切换到对应的服务器进行nginx配置,还可以一键将某台服务器的配置同步到其他服务器,方便集群管理。
Nginx本身功能复杂,本项目无法覆盖nginx全部功能,只能配置常用功能,更高级的功能配置还是需要手动写入最终生成的nginx.conf中。
部署此项目之后,你再也不用上网搜索配置nginx了,也不用再手动去申请和配置SSL证书了,只需要在此项目中进行简单的增、删、改、检即可轻松配置nginx。
技术说明
本项目基于Web系统和数据库,因此服务器上不需要安装数据库。
orm用的是我自己开源的项目的orm,用它做数据库,项目启动的时候会释放一个..db到系统用户文件夹里,记得备份一下。
它是一个可以像壳一样使用SQL数据库的ORM,让开发者从维护SQL数据库表结构中解放出来。支持MySQL和SQL三种数据库。有兴趣的可以了解一下。
本系统通过 Let's 申请证书,使用 acme.sh 脚本自动申请和续订,开启续订的证书每天凌晨 2 点续订,仅对 60 天以上的证书进行续订,证书仅在 Linux 下颁发。
由于申请证书必须使用80端口,因此在申请和续订时nginx将会暂时关闭,请注意。
在添加 TCP/IP 转发配置支持时,部分低版本的 nginx 可能需要重新编译安装,添加 --with- 参数指定模块后才能使用。但在 18.04 版本中,官方软件库中的 nginx 已经有模块,不需要重新编译。如果系统配置了 TCP 转发项,则会自动引入 .so 配置项,如果没有启用则不会引入,以最大程度优化 ngnix 配置文件。
jar 安装说明
以操作系统为例,请使用root账户执行以下命令:
注意:本项目需要在root用户下运行系统命令,非常容易被黑客利用,请将密码修改为复杂密码
1.安装Java运行环境和nginx
apt install openjdk-8-jdkapt install nginx
2.下载最新发布包jar
wget http://www.nginxwebui.cn/download/nginxWebUI-2.1.6.jar
如果有新版本,只需要修改路径中的版本即可
3.启动程序
nohup java -jar -Xmx64m nginxWebUI-2.1.6.jar --server.port=8080 --project.home=/home/nginxWebUI/ > /dev/null &
参数说明(全部可选)
- 最大分配内存量
--.port 占用端口,默认是从8080端口启动
--.home项目配置文件目录,存放数据库文件,证书文件,日志等,默认为/home//
注意命令末尾有一个&符号,表示项目正在后台运行
安装说明
本项目创建了包含nginx的镜像,以及nginx的集成管理和运行。
1.安装容器环境
apt install docker.io
2.下载图像:
docker pull registry.cn-hangzhou.aliyuncs.com/cym1102/nginxwebui:2.1.6
启动容器:
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
注意:
启动容器时请使用--net=host参数直接映射本地端口,因为内部nginx可能使用任意端口,所以必须映射所有本地端口。容器需要映射路径/home/:/home/,该路径下存放所有项目数据文件,包括数据库、nginx配置文件、日志、证书等,升级镜像时该目录可以保证项目数据不丢失,请注意备份。-e参数可以填写java启动参数,jar安装教程中的参数可以使用,该参数默认可以修改端口号等日志。存放在/home//log/.log - 安装说明
博主整理了一下安装此nginx可视化界面所需的文件。
-.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"
注意:项目下的所有数据都存储在与yaml文件同一目录的data文件夹中。
使用说明
打开:8080进入主页
登录页面,首次打开会要求初始化管理员账户
进入系统后,可以在管理员管理中添加、修改管理员账户
在http参数配置中可以配置nginx的http项目,进行http转发。默认给出了几个常用的配置,其他需要的配置可以自由增删改查。可以勾选开启日志跟踪,生成日志跟踪配置项。每天0点可以生成前一天的日志分析报告。由于日志文件太大,默认只保留7天的日志文件,但是分析报告可以永久保留。
在TCP参数配置中可以配置nginx的steam项目参数,但是大多数情况下不是必须的。
在反向代理中可以配置nginx的反向代理功能,开启ssl功能,直接从网页上传pem文件和key文件,或者使用系统中申请的证书,直接开启http转https功能,开启http2协议
在负载均衡中可以配置nginx的负载均衡功能,在反向代理管理中可以选择代理目标作为配置的负载均衡。
在html静态文件上传中,可以直接将html压缩包上传到指定路径,上传之后就可以直接在反向代理中使用,省去了Linux中上传html文件的步骤。
在证书管理中,您可以添加证书、颁发证书和续订证书。开启定时续订后,系统会自动续订即将过期的证书。
注意:证书使用acme.sh的dns模式签发,需要配合阿里云的和使用,请先申请和
备份文件管理,这里可以看到f的备份历史版本,当nginx出现错误的时候,可以选择回滚到某个历史版本
最后生成conf文件,可以在这里进行进一步的手动修改,确认修改无误后覆盖本地conf文件,验证并重启即可,可以选择生成单个nginx.conf文件,也可以将配置文件按域名分开放在conf.d下
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。