好用的Nginx可视化管理工具

作者 胡萝虎 日期 2021-01-20
好用的Nginx可视化管理工具

最近在捣鼓自己的网站,使用Hexo写完文章后,生成静态html网站,然后推送到云主机上。打算在云主机上用nginx做反向代理,映射域名到静态网站目录。

虽然配置起来不复杂,但是每次都要ssh到云主机去修改nginx的config文件倒是有点繁琐。突然想起来前段时间看到过一个可视化的nginx管理工具,话不多说,直接搞起。

进入正题

这个工具是nginxWebUI,使用Spring Boot开发,支持在Web界面中配置Nginx的各项功能,包括http协议转发, tcp协议转发, 反向代理, 负载均衡, ssl证书自动申请、续签、配置(重点!!!)等, 最终生成nginx.conf文件并覆盖nginx的默认配置文件, 完成nginx的最终功能配置。

当然,在Web界面只能操作常见的功能,很多nginx复杂的操作还是需要手工修改config文件的,不过基本够用了。目前这个工具Github有260+Star,更新维护还挺频繁。

安装

1. 技术说明

基于springBoot的web系统, 数据库使用sqlite, 因此服务器上不需要安装任何数据库。

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

其他更多的细节可以参考作者的github页面,这里就不做更多介绍了。

2. 安装方法

划重点,此工具安装过程需要root权限,请切换到root用户下进行操作。

2.1 安装java和Nginx

ubuntu:

apt install openjdk-8-jdk
apt install nginx

centos:

yum install java-1.8.0-openjdk
yum install nginx
2.2 安装nginxWebUI
  • 首先下载安装包

    wget http://file.nginxwebui.cn/nginxWebUI-2.4.4.jar
  • 启动程序

    nohup java -jar -Xmx64m nginxWebUI-2.4.4.jar --server.port=8080 --project.home=/home/nginxWebUI/ > /dev/null &

    后台启动,端口可以按照自己需要修改。同时也支持其他启动参数(非必选):

    -Xmx64m 最大分配内存数

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

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

    --spring.database.type=mysql 使用其他数据库,不填为使用本地sqlite,选项包括mysql和postgresql

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

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

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

    启动成功后,在浏览器中打开 http://ip:port ,即可进入系统页面。首次打开会要求初始化管理员账号,进入系统后可以在管理员管理模块中修改管理员账号、密码。

    image-20210120105632176

3. 开机启动和进程守护

开机重启和进程守护我们通过Supervisor来完成。

3.1 安装Supervisor

ubuntu:

apt install supervisor

centos:

yum install epel-release # 引入supervisor的源
yum install supervisor # 安装supervisor
systemctl start supervisord.service #启动supervisor并加载默认配置文件
systemctl enable supervisord.service #将supervisor加入开机启动项
3.2 配置Supervisor

ubuntu:

vim /etc/supervisor/conf.d/nginxwebui.conf

centos:

vim /etc/supervisord.d/nginxwebui.ini

在配置文件中加入以下内容:

[program:nginxwebui]
command=java -jar /home/nginxWebUI-2.4.4.jar #nginxWebUI的存放路径
autostart=true #是否开机自启动
autorestart=true #是否进程死掉后自动重启
stderr_logfile=/tmp/nginxwebui_stderr.log #错误输出目录
stdout_logfile=/tmp/nginxwebui_stdout.log #日志输出路径
user = root #启动用户,必须为root

配置完成后,重启Supervisor即可。

最后

这个工具作者也做了docker镜像,需要的朋友也可以使用docker安装,镜像名称为cym1102/nginxwebui,在此不再赘述,

你可能会喜欢

“扫一扫接着看”