前言
我们可以直接使用docker-compose来安装Nginx Proxy Manager,这样更加方便快速,下面我使用NPM名字代替Nginx Proxy Manager。
部署Nginx Proxy Manager
安装
1. 切换到root用户
su root
2. 创建NPM工作目录
mkdir -p /home/docker/nginx-proxy-manager
3. 进入工作目录
cd /home/docker/nginx-proxy-manager
4. 新建docker-compose.yml文件
vim docker-compose.yml
将以下内容写入到 docker-compose.yml中
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. 启动容器
docker-compose up -d
开放端口
我使用的是Ubuntu系统,Ubuntu系统自带的是UFW服务器,下面我以开发UFW防火墙,如果你是其他防火墙,你可以上网找到其他防火墙开发端口命令。
UFW开放端口
ufw allow 5081 comment "Nginx Proxy Manager"
服务器安全组开放端口

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

Nginx Proxy Manager的默认账号密码是
Email: admin@example.com
Password: changeme
输入邮箱和密码登录。
设置用户名 & 邮箱
登录第一个页面就是设置用户名和邮箱,根据自己的情况来修改用户名和邮箱。

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

申请SSL证书
首先需要获取DNS的Api Key
具体获取方式可以参考我另一篇文章:获取DNS API Key
添加证书
打开SSL Certificates,然后点击 Add SSL Certificate

等待成功

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

反向代理服务
什么时候用到反向代理?
我们使用Docker部署服务的时候,一般就使用到了反向代理了。
添加代理服务
进入代理主机服务

开放端口
这里开放端口,只需要开放服务器的防火墙端口,服务器的安全组不需要开放端口,这是因为在使用Nginx Proxy Manager代理Docker服务时,NPM会将流量从指定的端口转发到相应的Docker容器,如果你的服务器的防火墙没有相应端口开放,请求将无法到达docker容器,从而导致反向代理功能无法正常工作。
比如我上面反向代理docker服务的5350端口,那么我就要在服务器开放5350端口,开放这个端口其实倒也不需要太担心安全问题,只要你不在服务器商的安全组开放端口就好了吗,服务器的端口依然不会被外部访问。
ufw allow 5350 comment "this is test port"
高级配置
自定义配置
如果你需要自定义Nginx配置,你可以在你需要的主机中,打开Advanced自定义配置,比如下面,我做一个简单的location配置。

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


