首页
/ Nginx Proxy Manager 完整部署指南

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 设备上部署时,需要注意以下几点:

  1. 确保设备已正确安装 Docker 和 Docker Compose
  2. 如果使用 MySQL/MariaDB,建议使用 yobasystems/alpine-mariadb 镜像替代默认的 jc21/mariadb-aria
  3. ARM 设备的性能可能较低,初始化过程可能需要更长时间

初始配置

服务首次启动时会自动执行以下操作:

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

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

默认管理员账户

系统会创建以下默认管理员账户:

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

首次登录后,系统会强制要求修改这些默认凭证。你也可以通过环境变量预先设置这些信息:

environment:
  INITIAL_ADMIN_EMAIL: my@example.com
  INITIAL_ADMIN_PASSWORD: mypassword1

部署后建议

  1. 立即修改默认管理员密码
  2. 配置定期备份策略,特别是备份数据卷(/data)
  3. 考虑设置防火墙规则,限制管理端口(81)的访问
  4. 定期检查更新,获取新功能和安全性修复

通过以上步骤,你就可以成功部署 Nginx Proxy Manager,并开始使用它来管理你的反向代理配置了。