前言

说到Nginx可能大家都不陌生,负载均衡,高性能,低占用等等都是他的优点。但是对于小白来说,复杂的配置文件,SSL/TLS证书管理无非是一个大大的问题,使得建站的门槛变高。我们不妨试试Nginx Proxy Manager,他不仅拥有可视化的面板,而且操作简单,不需要你掌握很复杂的Nginx配置知识,只需要几步就能很轻松完成反向代理的设置和SSL证书的部署。

项目官网

部署流程

安装Docker

这里我们使用Docker部署,主打一个方便和快速,首先我们连接上自己的服务器。(服务器的系统以Debian为例)

sudo -i //提权为root用户

apt update //更新一下packages
apt install curl && curl -fsSL https://get.docker.com | sh //安装docker

curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose //安装Docker Compose

chmod +x /usr/local/bin/docker-compose //赋权

docker -v 
docker-compose --version //查看Docker和Docker Compose的版本
安装Nginx Proxy Manager

做好这些前置条件后我们可以开始安装Nginx Proxy Manager了。

nano /home/Nginx/docker-compose.yml //新建docker-compose.yml文件并编辑

这里我们向yml文件里写入Docker Compose的关于Nginx Proxy Manager配置文件。(这里可以更根据自己的需求更改配置文件)

version: '3.8'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      # These ports are in format <host-port>:<container-port>
      - '80:80' # Public HTTP Port
      - '443:443' # Public HTTPS Port
      - '81:81' # Admin Web Port
      # Add any other Stream port you want to expose
      # - '21:21' # FTP

    # Uncomment the next line if you uncomment anything in the section
    # environment:
      # Uncomment this if you want to change the location of
      # the SQLite DB file within the container
      # DB_SQLITE_FILE: "/data/database.sqlite"

      # Uncomment this if IPv6 is not enabled on your host
      # DISABLE_IPV6: 'true'

    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    network_mode: host

复制进去后我们按下Ctrl + X退出nano再按下Y保存内容。(注意部署前请放行防火墙和检查自己的服务器的端口是否被占用,81,80,443这些端口都会用到)

docker-compose up -d  //启动服务

可以看到Docker也是为我们进行了自动化的部署,部署完成后我们使用IP:81即可访问可视化面板,首次进入我们需要输入默认的邮箱密码,进入面板后可以修改为我们自己的邮箱和密码。

[email protected]  //面板默认账号
changeme  //面板默认密码

至此,Nginx Proxy Manager的部署工作完成。在平台把自己的IP解析在域名上后,访问Nginx Proxy Manager的Dashboard中的Proxy Hosts,在其中添加代理然后填入域名,你要反代的IP和端口,配置好你需要的功能后即可点击Save,证书都是全自动申请并且自动续签,在SSL Certificates可以看到我们的证书的状态,享受你自己搭建的网站吧!