[推荐]Nginx Proxy Manager 让反代和SSL管理变得更简单
前言
说到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即可访问可视化面板,首次进入我们需要输入默认的邮箱密码,进入面板后可以修改为我们自己的邮箱和密码。
admin@example.com //面板默认账号
changeme //面板默认密码
至此,Nginx Proxy Manager的部署工作完成。在平台把自己的IP解析在域名上后,访问Nginx Proxy Manager的Dashboard中的Proxy Hosts,在其中添加代理然后填入域名,你要反代的IP和端口,配置好你需要的功能后即可点击Save,证书都是全自动申请并且自动续签,在SSL Certificates可以看到我们的证书的状态,享受你自己搭建的网站吧!