大家好,我叫徐锦桐,个人博客地址为www.xujintong.com。平时记录一下学习计算机过程中获取的知识,还有日常折腾的经验,欢迎大家访问。
关于Nginx Proxy Manager
Nginx Proxy Manager就是配置nginx反向代理,还可以自动申请ssl证书的一个可视化面板。安装了Nginx Proxy Manager就不用单独安装nginx了,会发生端口冲突。
Nginx Proxy Manager官网:https://nginxproxymanager.com/
Nginx Proxy Manager项目地址:https://github.com/NginxProxyManager/nginx-proxy-manager
部署
-
前提是机器已经配置了docker和docker-compose,
-
首先创建一个目录,用来保存Nginx Proxy Manager数据
# 创建一个目录
mkdir nginx
# 进入这个目录
cd nginx
- 然后在当前目录创建一个文件,文件名为
nginx-proxy-manager.yaml
,文件内容是下面这个。
version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
# These ports are in format <host-port>:<container-port>
- '80:80' # Public HTTP Port 不能替换其他的
- '443:443' # Public HTTPS Port 不能替换其他的
- '8081:81' # Admin Web Port 前面的端口可以换成自己服务器空闲端口
# Add any other Stream port you want to expose
# - '21:21' # FTP
environment:
# Mysql/Maria connection parameters:
DB_MYSQL_HOST: "db"
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: "npm"
DB_MYSQL_PASSWORD: "npm"
DB_MYSQL_NAME: "npm"
# Uncomment this if IPv6 is not enabled on your host
# DISABLE_IPV6: 'true'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
depends_on:
- db
db:
image: 'jc21/mariadb-aria:latest'
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: 'npm'
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'npm'
MYSQL_PASSWORD: 'npm'
volumes:
- ./mysql:/var/lib/mysql
- 接下来是部署,输入命令
docker-compose -f nginx-proxy-manager.yaml up -d
就好了。
注意: 运行前确保相应端口已经打开,端口:端口
这样的左侧端口是服务器本地端口、右侧是容器端口。
配置
默认用户名为:admin@example.com
默认密码为:changeme
其他配置就不多讲了,详细配置请参考这个博客