Nginx 配置文件在线生成工具
本文最后更新于 120 天前,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

Nginx配置文件在线生成工具

Nginx Config

Nginx Config 是知名服务器提供商 Digital Ocean 发布的开源免费 “图形化 Nginx 配置文件生成工具”,大幅降低了 Nginx 的配置难度和建站的效率。

NginxConfig 默认提供了常用预设的 PHP、单页面应用、WordPress 等方案,也能很方便地根据需要配置 HTTPS (SSL 证书)、反向代理等功能。

Nginx-Config

nginxWebUI

nginxwebui

功能说明

nginxWebUI 是一款图形化管理 nginx 配置的工具, 可以使用网页来快速配置 nginx 的各项功能, 包括 http 协议转发, tcp 协议转发, 反向代理, 负载均衡, 静态 html 服务器, ssl 证书自动申请、续签、配置等, 配置好后可一建生成 nginx.conf 文件, 同时可控制 nginx 使用此文件进行启动与重载, 完成对 nginx 的图形化控制闭环。

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

视频教程: https://www.bilibili.com/video/BV18A4y1D7GZ
演示地址: http://test.nginxwebui.cn:7070
用户名: admin
密码: admin

jar安装说明

以Ubuntu操作系统为例,

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

  1. 安装 java 运行环境和 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 运行环境
JAVA_HOME:JDK安装目录
Path:JDK安装目录 \bin
重启电脑
  1. 下载最新版发行包 jar
Linux:
wget -O /home/nginxWebUI/nginxWebUI.jar http://file.nginxwebui.cn/nginxWebUI-3.3.1.jar

Windows:
直接使用浏览器下载 http://file.nginxwebui.cn/nginxWebUI-3.3.1.jar

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

  1. 启动程序
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 镜像, 支持 x86_64/arm64/arm v7 平台,同时包含 nginx 和 nginxWebUI 在内, 一体化管理与运行nginx。

  1. 安装docker容器环境

Ubuntu:

apt install docker.io

Centos:

yum install docker
  1. 拉取镜像
docker pull cym1102/nginxwebui:latest
  1. 启动容器
docker run -itd \
  -v /home/nginxWebUI:/home/nginxWebUI \
  -e BOOT_OPTIONS="--server.port=8080" \
  --privileged=true \
  --net=host \
  cym1102/nginxwebui:latest

注意:

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

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

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

  4. 日志默认存放在 /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 .

添加开机启动

  1. 编辑 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

之后执行

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

使用说明

打开 http://xxx.xxx.xxx.xxx:8080 进入主页

输入图片说明

登录页面, 第一次打开会要求初始化管理员账号

输入图片说明

进入系统后, 可在管理员管理里面添加修改管理员账号

输入图片说明

在http参数配置中可以配置nginx的http项目,进行http转发, 默认会给出几个常用配置, 其他需要的配置可自由增删改查. 可以勾选开启日志跟踪, 生成日志文件。

输入图片说明

在TCP参数配置中可以配置nginx的stream项目参数, 大多数情况下可不配.

输入图片说明

在反向代理中可配置nginx的反向代理即server项功能, 可开启ssl功能, 可以直接从网页上上传pem文件和key文件, 或者使用系统内申请的证书, 可以直接开启http转跳https功能,也可开启http2协议

输入图片说明

在负载均衡中可配置nginx的负载均衡即upstream项功能, 在反向代理管理中可选择代理目标为配置好的负载均衡

输入图片说明

在html静态文件上传中可直接上传html压缩包到指定路径,上传后可直接在反向代理中使用,省去在Linux中上传html文件的步骤

输入图片说明

在证书管理中可添加证书, 并进行签发和续签, 开启定时续签后, 系统会自动续签即将过期的证书, 注意:证书的签发是用的acme.sh的dns模式, 需要配合阿里云的aliKey和aliSecret来使用. 请先申请好aliKey和aliSecret

输入图片说明

备份文件管理, 这里可以看到nginx.cnf的备份历史版本, nginx出现错误时可以选择回滚到某一个历史版本

输入图片说明

最终生成conf文件,可在此进行进一步手动修改,确认修改无误后,可覆盖本机conf文件,并进行效验和重启, 可以选择生成单一nginx.conf文件还是按域名将各个配置文件分开放在conf.d下

输入图片说明

远程服务器管理, 如果有多台nginx服务器, 可以都部署上nginxWebUI, 然后登录其中一台, 在远程管理中添加其他服务器的ip和用户名密码, 就可以在一台机器上管理所有的nginx服务器了.

提供一键同步功能, 可以将某一台服务器的数据配置和证书文件同步到其他服务器中

接口开发

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

接口调用需要在 http 请求 header 中添加 token, 其中 token 的获取需要先在管理员管理中, 打开用户的接口调用权限, 然后通过用户名密码调用获取 token 接口, 才能得到 token

输入图片说明

找回密码

如果忘记了登录密码或没有保存两步验证,可按如下教程找回密码和关闭两步验证

1.停止 nginxWebUI

pkill java

2.使用找回密码参数运行 nginxWebUI.jar

java -jar nginxWebUI.jar --project.home=/home/nginxWebUI/ --project.findPass=true
  • project.home 为项目文件所在目录

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

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

版权归属: E家之长
本文链接: https://www.5iehome.cc/archives/nginx-configuration-file-online-generation-tool.html
许可协议: 本文使用《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》协议授权
暂无评论

发送评论 编辑评论


上一篇
下一篇