前言

我们可以直接使用docker-compose来安装Nginx Proxy Manager,这样更加方便快速,下面我使用NPM名字代替Nginx Proxy Manager。

部署Nginx Proxy Manager

安装

1. 切换到root用户

1
su root

2. 创建NPM工作目录

1
mkdir -p /home/docker/nginx-proxy-manager

3. 进入工作目录

1
cd /home/docker/nginx-proxy-manager

4. 新建docker-compose.yml文件

1
vim docker-compose.yml

将以下内容写入到 docker-compose.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80' # 必选
- '5081:81' # 冒号左边可以改成自己服务器未被占用的端口
- '443:443' # 必选
volumes:
- ./data:/data # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 data 文件夹中
- ./letsencrypt:/etc/letsencrypt # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 letsencrypt 文件夹中
- /www:/www # (可选)挂载/www为了在容器内部署静态资源

5. 启动容器

1
docker-compose up -d

开放端口

我使用的是Ubuntu系统,Ubuntu系统自带的是UFW服务器,下面我以开发UFW防火墙,如果你是其他防火墙,你可以上网找到其他防火墙开发端口命令。

UFW开放端口

1
ufw allow 5081 comment "Nginx Proxy Manager"

服务器安全组开放端口

01-开放安全组-服务器 - 轻量应用服务器 - 控制台 20230615-321

登录

启动容器docker-compose up -d后如果没有报错的话,就可以访问NPM的Web页面了

http://IP:5081

02-Login – Nginx Proxy 20230529-006

Nginx Proxy Manager的默认账号密码是

1
2
Email:    admin@example.com
Password: changeme

输入邮箱和密码登录。

设置用户名 & 邮箱

登录第一个页面就是设置用户名和邮箱,根据自己的情况来修改用户名和邮箱。

03-更改用户别名-Nginx Proxy Manager 20230615-371

修改登录密码

第一个输入框是输入当前密码,也就是:changeme

04-更改登录密码-Nginx Proxy Manager 20230615-607

申请SSL证书

首先需要获取DNS的Api Key

具体获取方式可以参考我另一篇文章:获取DNS API Key

添加证书

打开SSL Certificates,然后点击 Add SSL Certificate

05-申请SSL证书-Nginx Proxy Manager 20230615-330

等待成功

06-等待申请成功-ginx Proxy Manager 20230615-350

申请成功

申请成功后,可以看到有一个SSL证书列表在这里,并且在右边可以看到申请时间。

07-申请成功-Nginx Proxy Manager 20230615-959

反向代理服务

什么时候用到反向代理?

我们使用Docker部署服务的时候,一般就使用到了反向代理了。

添加代理服务

进入代理主机服务

08-添加反向代理服务

开放端口

这里开放端口,只需要开放服务器的防火墙端口,服务器的安全组不需要开放端口,这是因为在使用Nginx Proxy Manager代理Docker服务时,NPM会将流量从指定的端口转发到相应的Docker容器,如果你的服务器的防火墙没有相应端口开放,请求将无法到达docker容器,从而导致反向代理功能无法正常工作。

比如我上面反向代理docker服务的5350端口,那么我就要在服务器开放5350端口,开放这个端口其实倒也不需要太担心安全问题,只要你不在服务器商的安全组开放端口就好了吗,服务器的端口依然不会被外部访问。

1
ufw allow 5350 comment "this is test port"

高级配置

自定义配置

如果你需要自定义Nginx配置,你可以在你需要的主机中,打开Advanced自定义配置,比如下面,我做一个简单的location配置。

08-自定义配置-Nginx Proxy Manager 20230615-326

本文章来源于我的博客:https://blog.hikki.site