首页
/ Nginx Proxy Manager 项目部署与配置完全指南

Nginx Proxy Manager 项目部署与配置完全指南

2025-07-05 05:09:17作者:谭伦延

前言

Nginx Proxy Manager 是一个基于 Nginx 的轻量级反向代理管理工具,它提供了直观的 Web 界面来管理代理主机、SSL 证书等配置。本文将详细介绍如何通过 Docker 部署 Nginx Proxy Manager,并针对不同使用场景提供配置建议。

基础部署方案

准备工作

在开始部署前,请确保系统已安装 Docker 和 Docker Compose。这是运行 Nginx Proxy Manager 的基础环境要求。

标准部署配置

创建 docker-compose.yml 文件,内容如下:

version: '3.8'
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

关键配置说明:

  • ports 部分映射了三个关键端口,分别用于 HTTP、HTTPS 服务和管理界面
  • volumes 部分将容器内的数据目录和证书目录映射到宿主机,确保数据持久化
  • restart: unless-stopped 确保容器在异常退出后自动重启

启动服务

执行以下命令启动服务:

docker compose up -d

高级数据库配置

对于生产环境,建议使用 MySQL/MariaDB 替代默认的 SQLite 数据库以获得更好的性能。

MySQL/MariaDB 配置示例

version: '3.8'
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'
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: 'npm'
      MYSQL_DATABASE: 'npm'
      MYSQL_USER: 'npm'
      MYSQL_PASSWORD: 'npm'
    volumes:
      - ./mysql:/var/lib/mysql

重要注意事项:

  1. MySQL 配置会覆盖 SQLite 配置
  2. 数据库版本要求:MySQL ≥5.7.8 或 MariaDB ≥10.2.7
  3. 生产环境应使用更复杂的密码替代示例中的简单密码

ARM 设备部署指南

Nginx Proxy Manager 支持多种 ARM 架构设备,包括:

  • arm64 (如树莓派 4)
  • armv7 (如树莓派 3)

ARM 设备注意事项

  1. 数据库容器建议使用 yobasystems/alpine-mariadb 镜像替代官方镜像
  2. 确保设备已正确安装 Docker 和 Docker Compose
  3. 部署命令与 x86 平台相同,Docker 会自动选择适合的镜像版本

首次运行流程

服务首次启动时会执行以下初始化操作:

  1. 生成 JWT 密钥并保存在数据目录
  2. 初始化数据库结构
  3. 创建默认管理员账户

初始化过程可能需要几分钟时间,具体取决于设备性能。

初始登录信息

系统提供的默认管理员账户为:

邮箱: admin@example.com
密码: changeme

安全提示:首次登录后应立即修改默认凭证,包括邮箱地址和密码。

常见问题解答

Q: 为什么需要映射三个端口? A: 80 和 443 端口用于代理的 HTTP/HTTPS 流量,81 端口用于管理界面,三者功能不同且都需要对外暴露。

Q: 如何确认服务已正常启动? A: 访问 http://服务器IP:81 应能看到登录界面,使用默认凭证可以登录。

Q: 数据备份如何操作? A: 定期备份 compose 文件同目录下的 data 和 letsencrypt 目录即可。

总结

本文详细介绍了 Nginx Proxy Manager 的部署方法,从最简单的单容器部署到包含独立数据库的生产级部署方案。无论是 x86 服务器还是 ARM 设备,都能找到适合的部署方式。部署完成后,您可以通过直观的 Web 界面轻松管理反向代理和 SSL 证书,无需手动编辑复杂的 Nginx 配置文件。