前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一款非常强大的 Nginx 可视化管理平台

一款非常强大的 Nginx 可视化管理平台

作者头像
一行Java
发布2023-11-16 11:35:29
1.9K0
发布2023-11-16 11:35:29
举报

Nginx 是一个高性能的HTTP和反向代理web服务器,其主要的特点就是快,但是配置起来相对有点麻烦,对于新手朋友来说,很不友好,今天给大家推荐一款可视化的Nginx配置管理工具,开箱即用,支持 Docker 一键部署,可以让用户通过 Web 界面在线配置、管理 Nginx 服务,支持转发、重定向、SSL 证书、高级配置等功能。

开源地址:https://github.com/NginxProxyManager/nginx-proxy-manager

项目目标

为用户提供一种简单的方法来完成带有 SSL 终止的反向代理主机,并且非常简单,虽然可能有高级选项,但它们是可选的,并且项目应尽可能简单,以便进入门槛较低。

特征

  • 基于 Tabler 的美观且安全的管理界面
  • 无需了解 Nginx 即可轻松创建转发域、重定向、流和 404 主机
  • 使用 Let's Encrypt 免费 SSL 或提供您自己的自定义 SSL 证书
  • 主机的访问列表和基本 HTTP 身份验证
  • 超级用户可用的高级 Nginx 配置
  • 用户管理、权限和审核日志

快速设置

安装 Docker 和 Docker-Compose

创建一个与此类似的 docker-compose.yml 文件:

代码语言:javascript
复制
version: '3.8'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

这是所需的最低配置。

通过运行调出堆栈

代码语言:javascript
复制
docker-compose up -d

# If using docker-compose-plugin
docker compose up -d

登录管理界面

http://127.0.0.1:81 当你的 Docker 容器运行时,在管理界面的端口上连接到它。有时,由于密钥的原因,这可能需要一点时间。默认管理员用户:

代码语言:javascript
复制
Email:    admin@example.com
Password: changeme

使用此默认用户登录后,系统会立即要求修改详细信息并更改密码。

截图

高级配置

使用 Docker 网络

对于那些在与 NPM 相同的 Docker 主机上的 Docker 中运行一些上游服务的人来说,这里有一个技巧可以更好地保护事情。通过创建自定义 Docker 网络,您无需将上游服务的端口发布到所有 Docker 主机的接口。

创建一个网络,即“scoobydoo”:

代码语言:javascript
复制
docker network create scoobydoo

然后将以下内容添加到 docker-compose.ymlNPM 和此 Docker 主机上运行的任何其他服务的文件中:

代码语言:javascript
复制
networks:
  default:
    external: true
    name: scoobydoo

看一个 Portainer 的例子:

代码语言:javascript
复制
version: '3.8'
services:

  portainer:
    image: portainer/portainer
    privileged: true
    volumes:
      - './data:/data'
      - '/var/run/docker.sock:/var/run/docker.sock'
    restart: unless-stopped

networks:
  default:
    external: true
    name: scoobydoo

现在,在 NPM UI 中可以创建一个代理主机,并将其 portainer 用作主机名和端口 9000。尽管此端口未在 docker-compose 文件中列出,但它已由 Portainer Docker 映像“公开”,并且在此 Docker 网络之外的 Docker 主机上不可用。服务名称用作主机名,因此请确保使用同一网络时你的服务名称是唯一的。

Docker 健康检查

构建 Dockerfile 此项目的不包含 a HEALTHCHECK,但可以通过将以下内容添加到文件中的服务来选择使用此功能 docker-compose.yml:

代码语言:javascript
复制
healthcheck:
  test: ["CMD", "/bin/check-health"]
  interval: 10s
  timeout: 3s

开源地址:https://github.com/NginxProxyManager/nginx-proxy-manager

END

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-11-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一行Java 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 项目目标
  • 特征
  • 快速设置
  • 截图
  • 高级配置
    • 使用 Docker 网络
      • Docker 健康检查
      相关产品与服务
      容器服务
      腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档