本文最后更新于 2023-09-19,该文章更新时间较久,如有变动或失误地方请留言或自行查找。

NginxProxyManager 是一款可视化的 Nginx 反代理管理面板,可以快速的进行 反代理、重定向、端口转发并并配置SSL等操作,对于Linux小白以及不熟悉 Nginx 的小白来说,配置起来,还是比较方便的。


部署安装

首先是部署安装,可以通过 DockerDocker Compose 地方式进行安装,这里我个人是建推荐使用 Docker Compose 的方式进行安装。


安装前注意事项

首先,在安装前有一些注意事项,避免出现安装后容器跑不起得来或者无法打开等问题,并且考虑后续的维护升级:

  1. 于端口的配置这一块,容器有 8044381 三个端口需要配置,这里建议容器的端口不用更改,但是服务器的对外端口记得更改下,例如映射 sports:- '8088:80'- '8181:81'- '4443:443' 这样,可以避免外部服务器端口冲突,其中的 81端口 是 Web 访问端口,一定要在服务器安全组那里进行端口放行。

  2. 第二个是数据持久化,为了后续镜像升级容器迁移等操作,这里建议对容器的 /data 目录进行映射,即便后续容器删除,数据还会保留。

  3. 第三个是镜像选择,下面默认使用的 jc21/nginx-proxy-manager 是官方镜像,界面是英文版的,如果想使用中文版的,可以将 iamge 那里替换为 chishin/nginx-proxy-manager-zh 即可,后者是汉化后的镜像。


Docker Compose 安装

创建 docker-compose.yml 并进行配置

首先,创建一个自定义的目录,这里以 root 目录下创建 nginxproxymanager 并在 nginxproxymanager 下创建 data 文件,并进入到 nginxproxymanager 文件夹下。


mkdir -p ~/root/nginxproxymanager/data && cd ~/root/nginxproxymanager

接下来在该文件夹下创建 docker-compose.yml 文件,并写入配置。


vi docker-compose.yml

这里按下 i 进入编辑模式,复制下方的配置并根据自己需求进行端口映射、镜像选择和目录映射部分的修改,完成修改后按下 Esc 并在终端输入 :wq 保存退出。


version: '3'
services:
  app:
    image: 'chishin/nginx-proxy-manager-zh'
    restart: unless-stopped
    ports:
      - '8080:80'  # 冒号左边可以改成自己服务器未被占用的端口
      - '8181:81'  # 冒号左边可以改成自己服务器未被占用的端口
      - '443:443' # 冒号左边可以改成自己服务器未被占用的端口
    volumes:
      - ./data:/data # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 data 文件夹中
      - ./letsencrypt:/etc/letsencrypt  # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 letsencrypt 文件夹中


完成操作后我们输入下面的命令,会自动拉取镜像并创建容器:


docker-compose up -d

容器创建完成后,可以使用 IP + 端口 的方式进行访问,你也可以通过下面的命令进行实时查看日志。


docker-compose logs -f


后续维护升级

首先进入该文件夹,并停止当前容器运行。


cd ~/root/nginxproxymanager && docker-compose down

然后备份一下相关的数据(一般影响也不大),并进行容器升级


docker-compose down
docker-compose pull
docker-compose up -d

<!--依次执行即可,会自动拉取最新的镜像并升级启动容器-->

NginxProxyManager 配置

用户信息配置

当你初次进入后台时,需要使用默认的邮箱、密码进行登录。


Email: admin@example.com Password: changeme


登陆后根据提示进行提示对邮箱密码进行重新设置即可。


上传 SSL 证书

如果你有其他平台提前申请好的证书,可以通过 SSL 证书页面进行上传,如果没有就点第一个自动申请即可。


上传证书这里,名称自定义即可,例如 waistu.com , 上传证书密钥和证书文件即可,中间证书可以不用上传。



添加反向代理

这里我们点击仪表盘 > 代理服务,或者 主机 > 代理服务,然后点右上角的添加代理服务,这里域名填写你需要代理的域名即可,然后下面填写服务器IP以及容器的端口,下面的 阻止常见漏洞 和 支持WebSockets 可以开一下,缓存资源部建议打开。

证书配置这里,如果你已经长传好了证书,直接选择上传的证书,并开启 强制SSL 和支持 HTTP/2 即可。


重定向

如果你想让主域名跳转带 WWW 的域名,这里添加重定向即可,例如添加 waistu.com 并转发至 www.waistu.com 域名,HTTP代码这里填301定向即可,同样别忘了 SSL 的配置和开启。


如果你想让 www.waistu.com 跳转至 waistu.com 域名,即别人访问你网站不带 www ,只需在上面的反代理域名填写主域名,重定向这里添加带 WWW 的域名即可。

以上就是 NginxProxyManager 的安装部署以及配置方法,还是比较方便的。