解放双手!看看人家的Nginx可视化管理工具,确实清新优雅!

Nginx是一款非常流行的Web服务器,作为后端程序员我们会经常使用到它。但是去服务器上手动修改Nginx配置确实是一件麻烦的事情,今天给大家分享一款Nginx可视化管理工具nginx-proxy-manager,能彻底解放你的双手!

简介

nginx-proxy-manager是一款Nginx可视化管理工具,具有强大的用户界面,目前在Github上已有25k+star。 使用它你无需深入了解Nginx,即可实现请求代理、自动申请SSL证书等功能。

它具有如下特性:

  • 具有美观而且安全的用户管理界面。
  • 无需了解任何关于Nginx的知识,即可实现请求代理、重定向、流媒体等功能。
  • 能自动申请免费的SSL证书并自动续期。
  • 可以通过Access Lists和Basic认证实现主机的安全访问。
  • 具有用户、权限管理,日志审计功能。

安装

使用Docker来安装nginx-proxy-manager是非常方便的,这里将采用此种方式来安装。

  • 首先使用如下命令下载它的Docker镜像;
bash 复制代码
docker pull jc21/nginx-proxy-manager:latest
  • 然后使用如下命令来运行它的容器;
bash 复制代码
docker run -p 80:80 -p 81:81 -p 443:443 --name nginx-proxy-manager \
-v /mydata/nginx-pm/data:/data \
-v /mydata/nginx-pm/letsencrypt:/etc/letsencrypt \
-d jc21/nginx-proxy-manager:latest

使用

接下来就以我的mall电商实战项目的部署为例,演示下nginx-proxy-manager的使用。

这里简单介绍下mall项目,mall项目是一套基于SpringBoot3 + Vue 的电商系统(Github标星60K),后端支持多模块和2024最新微服务架构 ,采用Docker和K8S部署。包括前台商城项目和后台管理系统,能支持完整的订单流程!涵盖商品、订单、购物车、权限、优惠券、会员、支付等功能!

项目地址

项目演示:

静态代理

这里以mall电商实战项目的后台管理系统和前台商城系统的部署为例来演示下静态代理功能。

  • 首先我们需要修改本机的Hosts文件,我这里部署nginx-proxy-manager的服务器地址为192.168.3.101

    192.168.3.101 mall.macrozheng.com

  • 这里我们先来部署mall项目的后台管理系统,点击Hosts->Proxy Hosts->Add Proxy Host来添加代理主机;

  • Details中设置好域名和转发的服务器信息;
  • 由于我们想在同一个域名下通过目录来区分不同的项目,这里还需在Advanced中添加自定义的Nginx配置;
  • 具体的Nginx配置如下;
bash 复制代码
location /admin {
    alias  /data/html/admin;
    index  index.html index.htm;
}
  • 之后把打包好的mall后台管理系统前端代码上传到服务器的/mydata/nginx-pm/data/html目录下并解压,这里我把前台商城系统的代码也同时上传了;
  • 前台商城系统的话只需在原来的自定义Nginx配置中添加如下配置即可;
bash 复制代码
location /app {
    alias  /data/html/app;
    index  index.html index.htm;
}

动态代理

接下来以mall项目的后端API为例来演示下动态代理功能。

  • 首先还是需要修改本机的Hosts文件;

    192.168.3.101 api.macrozheng.com

  • 然后添加一个新的代理主机,将转发的hostname修改为admin-api.macrozheng.com即可;

其他功能

  • 在配置代理主机的时候,我们可以设置SSL协议并支持自动申请免费的域名证书;
  • 通过Access Lists功能可以实现代理主机的Basic认证;
  • 通过用户管理功能可以实现用户及权限的管理;
  • 通过Audit Log功能可以查看用户的操作日志。

中文版本

如果你用不习惯英文版本的话,还有个中文版本的项目nginx-proxy-manager-zh,中文镜像是基于官方镜像替换前端代码来实现的,所以中文版本的全部功能与官方版本相同。

  • 中文镜像的容器运行命令为;
bash 复制代码
docker run -p 80:80 -p 81:81 -p 443:443 --name nginx-proxy-manager \
-v /mydata/nginx-pm/data:/data \
-v /mydata/nginx-pm/letsencrypt:/etc/letsencrypt \
-d chishin/nginx-proxy-manager-zh:release
  • 使用了一下,汉化还是挺完整的。

总结

今天给大家分享了一款Nginx可视化管理工具,界面清新优雅,用起来也很方便!有了它你无需了解过多的Nginx知识,就可以快速使用Nginx了,感兴趣的小伙伴可以尝试下!

项目地址

github.com/NginxProxyM...

相关推荐
救救孩子把1 小时前
集成开发环境革新:IntelliJ IDEA与Cursor AI的智能演进
java·人工智能·intellij-idea
小股虫1 小时前
统计可重复列表中的TOP N
java·排序算法·top n·top统计
集装箱搬运工1 小时前
怎么快速部署Sock5代理到ubuntu云服务器
java·服务器·网络
在努力的韩小豪2 小时前
【微服务架构】本地负载均衡的实现(基于随机算法)
后端·spring cloud·微服务·架构·负载均衡
大刀爱敲代码4 小时前
基础算法01——二分查找(Binary Search)
java·算法
声声codeGrandMaster5 小时前
Django项目入门
后端·mysql·django
千里码aicood5 小时前
【2025】基于springboot+vue的医院在线问诊系统设计与实现(源码、万字文档、图文修改、调试答疑)
vue.js·spring boot·后端
yunqi12156 小时前
【负载均衡系列】nginx负载高怎么排查
运维·nginx·负载均衡
追风少年1556 小时前
常见中间件漏洞之一 ----【Tomcat】
java·中间件·tomcat
yang_love10116 小时前
Spring Boot 中的 @ConditionalOnBean 注解详解
java·spring boot·后端