Docker部署Nginx Proxy Manager

关于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,

    • 安装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 :
      - '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

其他配置就不多讲了,详细配置请参考这个博客

THE END