Nginx Proxy Manager 完整部署指南
2025-07-05 05:09:53作者:殷蕙予
项目概述
Nginx Proxy Manager 是一个基于 Nginx 的轻量级反向代理管理工具,它提供了直观的 Web 界面来管理代理主机、SSL 证书和访问控制等配置。相比直接配置 Nginx 复杂的配置文件,这个工具大大简化了反向代理的管理工作。
基础部署方案
准备工作
在开始部署前,请确保系统已安装 Docker 和 Docker Compose。这是运行 Nginx Proxy Manager 的基础环境。
创建 docker-compose.yml 文件
在项目目录下创建 docker-compose.yml
文件,内容如下:
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80' # HTTP 服务端口
- '443:443' # HTTPS 服务端口
- '81:81' # 管理界面端口
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
启动服务
执行以下命令启动服务:
docker compose up -d
这个基础配置使用了 SQLite 作为默认数据库,适合小型部署场景。
高级数据库配置
对于生产环境或需要更高性能的场景,建议使用 MySQL/MariaDB 或 PostgreSQL 数据库。
MySQL/MariaDB 配置方案
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
# ...其他配置同上...
environment:
DB_MYSQL_HOST: "db"
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: "npm"
DB_MYSQL_PASSWORD: "npm"
DB_MYSQL_NAME: "npm"
depends_on:
- db
db:
image: 'jc21/mariadb-aria:latest'
environment:
MYSQL_ROOT_PASSWORD: 'npm'
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'npm'
MYSQL_PASSWORD: 'npm'
volumes:
- ./mysql:/var/lib/mysql
PostgreSQL 配置方案
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
# ...其他配置同上...
environment:
DB_POSTGRES_HOST: 'db'
DB_POSTGRES_PORT: '5432'
DB_POSTGRES_USER: 'npm'
DB_POSTGRES_PASSWORD: 'npmpass'
DB_POSTGRES_NAME: 'npm'
depends_on:
- db
db:
image: postgres:latest
environment:
POSTGRES_USER: 'npm'
POSTGRES_PASSWORD: 'npmpass'
POSTGRES_DB: 'npm'
volumes:
- ./postgres:/var/lib/postgresql/data
ARM 设备部署说明
Nginx Proxy Manager 支持多种架构,包括:
- amd64 (标准 PC/服务器)
- arm64 (树莓派 4 等)
- armv7 (树莓派 3 等)
在 ARM 设备上部署时,需要注意以下几点:
- 确保设备已正确安装 Docker 和 Docker Compose
- 如果使用 MySQL/MariaDB,建议使用
yobasystems/alpine-mariadb
镜像替代默认的jc21/mariadb-aria
- ARM 设备的性能可能较低,初始化过程可能需要更长时间
初始配置
服务首次启动时会自动执行以下操作:
- 生成 JWT 密钥并保存在数据目录
- 初始化数据库结构
- 创建默认管理员账户
初始化过程可能需要几分钟时间,具体取决于设备性能。
默认管理员账户
系统会创建以下默认管理员账户:
邮箱: admin@example.com
密码: changeme
首次登录后,系统会强制要求修改这些默认凭证。你也可以通过环境变量预先设置这些信息:
environment:
INITIAL_ADMIN_EMAIL: my@example.com
INITIAL_ADMIN_PASSWORD: mypassword1
部署后建议
- 立即修改默认管理员密码
- 配置定期备份策略,特别是备份数据卷(/data)
- 考虑设置防火墙规则,限制管理端口(81)的访问
- 定期检查更新,获取新功能和安全性修复
通过以上步骤,你就可以成功部署 Nginx Proxy Manager,并开始使用它来管理你的反向代理配置了。