Nginx Proxy Manager简介

Nginx Proxy Manager是nginx的可视化管理工作,可以方面的在页面上进行端口转发、反向代理等操作。还可以申请SSL证书并自动续订,大大简化了nginx的配置工作。

创建项目文件夹

首先,我们创建一个文件夹来存放 NPM 的 docker-compose.yml 文件:

mkdir -p ~/nginxproxymanager   # 创建一个 npm 的文件夹

cd ~/nginxproxymanager    # 进入该文件夹

vi docker-compose.yml

编辑docker-compose.yml文件

在英文状态的输入法下,按下 i,左下角出现 --INSERT-- 后,粘贴填入下面的内容:

version: '3'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'              # 不建议修改端口
      - '81:81'              # 可以把冒号左边的 81 端口修改成你服务器上没有被占用的端口
      - '443:443'            # 不建议修改端口
    volumes:
      - ./data:/data         # 点号表示当前文件夹,冒号左边的意思是在当前文件夹下创建一个 data 目录,用于存放数据,如果不存在的话,会自动创建
      - ./letsencrypt:/etc/letsencrypt  # 点号表示当前文件夹,冒号左边的意思是在当前文件夹下创建一个 letsencrypt 目录,用于存放证书,如果不存在的话,会自动创建

注意:安装了 NPM 之后,就不需要再安装 Nginx 了,否则会端口冲突(不建议修改 NPM 的 80、443 端口)。如果你的服务器安装了宝塔面板,也可以和 NPM 一起使用,只要你到软件后台把宝塔安装的 Nginx 关闭或者卸载即可。

之后,同样在英文输入法下,按一下 esc,然后 :wq 保存退出。

启动

docker-compose up -d     # -d 表示后台运行

docker compose up -d     # 如果你用的是 docker-compose-plugin 的话,用这条命令

不出意外,此时你使用 http://127.0.0.1:81 就可以访问 NPM 的网页端了。(注意把 127.0.0.1 替换成你实际服务器的 IP)

信息

  1. 不知道服务器 IP,可以直接在命令行输入:curl ip.sb,会显示当前服务器的 IP。

  2. 遇到访问不了的情况,请再次检查在宝塔面板的防火墙和服务商的后台防火墙是否打开对应了端口。

默认登陆的用户名: admin@example.com 密码: changeme