这是官网的一段话: This project comes as a pre-built docker image that enables you to easily forward to your websites running at home or otherwise, including free SSL, without having to know too much about Nginx or Letsencrypt.
该项目作为一个预构建的 docker 镜像提供,使您能够轻松地转发到在家里或其他地方运行的网站,包括免费的 SSL,而无需对 Nginx 或 Letsencrypt 有太多了解。
说白了,就是可以通过这个工具更简单方便的配置反向代理的配置及SSL证书的设置。
新建一个目录存放Nginx Proxy Manager的配置和项目文件
mkdir ngingx_proxy_manager && cd ngingx_proxy_manager
新建docker-compose.yml
文件并复制以下内容
version: "3"
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
- '81:81' # Admin Web Port
# Add any other Stream port you want to expose
# - '21:21' # FTP
environment:
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:
- ./data/mysql:/var/lib/mysql
docker-compose up -d
可以通过控制台或者宝塔面板亦或者命令行
# 查看防火墙状态
systemctl status firewalld
# 开启防火墙
systemctl start firewalld
#查看是否放行了81端口
firewall-cmd --query-port=81/tcp
#放行81端口
firewall-cmd --zone=public --add-port=81/tcp --permanent
#刷新生效
firewall-cmd --reload
通过http://你的服务器ip:81
访问web管理界面
默认账号密码为
Email: admin@example.com
Password: changeme
在输入账号密码进入后,会强制要求修改账号密码,然后就可以进行我们的配置了。