记录个教程,怕以后忘记了不好找。
首先我使用的是宝塔8.0.5的版本,docker是在宝塔内自动安装的
Nginx Proxy Manager的安装比较简单,直接看官方文档就行Nginx Proxy Manager,记得在服务器的安全组里开放81端口,安装完成后用(IP:81)的形式即可访问到控制面板
以下是示例代码
在家目录下创建 npm文件夹,在其中创建docker-compose.yml配置文件,用vim编辑器打开进行编辑
①创建npm文件夹:
mkdir ~/npm && cd ~/npm
②创建 docker-compose.yml 配置文件并用vim编辑器打开进行编辑
vim docker-compose.yml
③在配置文件中填入以下代码(如果版本更新,可以去官网查看最新配置文件)
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
docker-compose up -d
如果用的是docker-compose-plugin就用以下命令
docker compose up -d # 如果用的是docker-compose-plugin
⑤打开管理页面
http://你的主机IP:81
默认的用户名和密码是
Email: admin@example.com
Password: changeme
登录进去后进行进行初始化,填写一下信息即可
之后进入主界面 Dashboard
点击proxy host
填写信息:
-
Domain Names
:填网站的域名,首先记得做好 DNS 解析,把域名绑定到我们的服务器的 IP 上 -
Scheme
:默认http
即可,除非你有自签名证书 -
Forward Hostname/IP
:填入服务器的 IP,或者 Docker 容器内部的 IP(如果 NPM 和 Halo 搭建在同一台服务器上的话) -
Forward Port
:填入映射出的端口 -
Cache Assets
:缓存,可以选择打开 -
Block Common Exploits
: 阻止常见的漏洞,可以选择打开 -
Websockets Support
:WS 支持,可以选择打开 -
Access List
: 这个是 NPM 自带的一个限制访问功能,不用管
图中①处填写你的域名,先做好域名解析,可以填顶级域名,也可以填写二级域名
图中②处填写你的项目的IP,这个IP我填写的是内网IP,如果是docker配置的可以直接在宝塔面板里的docker项目中看到内网IP地址
以halo项目为例,内网IP即为172.18.0.2,端口则填写你设置的端口
也可以通过命令查看:
`ip addr show docker0` 命令获取得到的ip,一般为172.17.0.1
填写后勾选下面的三个选项,提高安全性的
勾选完成后先别点提交,先点击SSL
选择通过Let's Encrypt
之后再点击save,等待一会儿就能成功获取了,如果提升出错,可能是配置文件或者其他问题
以下是成功界面:
成功之后直接通过https加域名访问即可
添加完解析记录后可以去cmd命令里ping一下刚添加的域名,看看是否能ping通,以及显示的主机地址是否正确,如果没什么问题,就可以开始配置Nginx Proxy Manager了。