跳到主要内容

Docker部署Nginx-Proxy-Manager反向代理工具

👁️‍🗨️阅读需 3 分钟
cq329

Nginx-Proxy-Manager 是一个开源的反向代理管理系统,它基于 NGINX,具有漂亮干净的 WebUI。还可以获得受信任的 SSL 证书,并通过单独的配置、自定义和入侵保护来管理多个代理。

npm 特征

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

准备工作

SSH 登入你的 VPS ,使用下面的命令获取 root 权限。

sudo -i

正式部署

创建一个与此类似的 docker-compose.yml 文件,这是所需的最低配置。

version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
container_name: nginx-proxy-manager
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt

通过以下命令启动容器

docker-compose up -d

在浏览器输入 http://127.0.0.1:81 来进入管理界面。

首次登录凭证

Email: admin@example.com

密码: changeme

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

Docker 镜像更新

有新版本时使用如下代码可更新至最新稳定版,不影响之前的代理设置。

获取最新图像

docker-compose pull

重新部署

docker-compose up -d

更改网络模式

如果出现不能反向代理的问题,大概率是网络模式引起的,容器默认网络模式是Bridge,可以变更为Host模式来解决。

将 docker-compose.yml 文件替换为下面的内容:

version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
network_mode: host
container_name: nginx-proxy-manager
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt

重新部署

docker-compose up -d

中文化部署

Nginx-Proxy-Manager 官方版本不支持中文,但 GitHub 有人已经做了汉化镜像,要想使用中文请将 docker-compose.yml 文件里的 image 镜像 jc21/nginx-proxy-manager:latest 替换为 chishin/nginx-proxy-manager-zh 即可实现中文部署。示例如下:

version: '3.8'
services:
app:
image: 'chishin/nginx-proxy-manager-zh'
network_mode: host
container_name: nginx-proxy-manager
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt