1.介绍
当你在服务器上部署了项目。我们怎么样才能把IP+端口变成域名来访问?答案是用反向代理。
Nginx proxy manager是一个很简单的反向代理工具,门槛极低,操作简单,不需要你掌握很复杂的Nginx配置知识,只需要几步就能很轻松完成反向代理的设置和SSL证书的部署。
1.1项目优势
- 反向代理:轻松配置将域名指向不同的后端服务。
- SSL 管理:支持免费自动化的 Let’s Encrypt SSL 证书,配置 HTTPS 网站。
- 访问控制:设置 HTTP 认证,保护后端服务。
- 自定义页面:为未找到的页面或出错页面提供自定义 HTML 内容。
- 用户友好的界面:无需手动修改配置文件,通过 Web 界面即可管
1.2.项目展示
登陆界面
主页展示
反向代理
添加一个ssl证书
2.相关地址
官网地址:https://nginxproxymanager.com
官方GitHub地址:https://github.com/NginxProxyManager/nginx-proxy-manager
3.部署环境
- 服务器:使用的是莱卡云的,境外特惠香港服务器。现在莱卡云服务器有年付促销活动性价比会更高。查看官网购买链接:https://www.lcayun.com/aff/ZFVSWGGQ
- 安装部署Nginx Proxy Manager,配置最低要求1核1G
- 服务器系统:CentOS-8.2
- 安装Docker:安装好 Docker、Docker-compose
- 【必需】域名一枚,并做好解析到服务器上
4.搭建视频
哔哩哔哩:
5.搭建方式
5.1登陆服务器
选择一款连接SSH的软件
linux系统连接使用参考:https://lcayun.com/helparticle/61.html
windows系统连接使用参考:https://www.lcayun.com/helparticle/25844.html
5.2安装Docker
首次安装 Docker 之前,您需要设置 Docker 存储库。之后,您可以从存储库安装和更新 Docker。
sudo dnf -y install dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
要安装最新版本Docker
sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
启动 Docker 引擎。
sudo systemctl enable --now docker
通过运行镜像来验证安装是否成功hello-world
sudo docker run hello-world
5.3安装Docker Compose
下载并安装 Compose standalone
curl -SL https://github.com/docker/compose/releases/download/v2.30.3/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
使用 chmod
命令为文件添加执行权限:
chmod +x /usr/local/bin/docker-compose
6.反向代理
6.1域名解析
在添加做反向代理这一步之前,确保你已经完成了域名解析,并做好解析到服务器上
6.2安装Nginx Proxy Manager
创建一下安装的目录:
sudo -i
mkdir -p /root/data/docker_data/npm
cd /root/data/docker_data/npm
这边我们直接用 docker 的方式安装。
vi docker-compose.yml
英文输入法下,按 i
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80' # 保持默认即可,不建议修改左侧的80
- '81:81' # 冒号左边可以改成自己服务器未被占用的端口
- '443:443' # 保持默认即可,不建议修改左侧的443
volumes:
- ./data:/data # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 data 文件夹中
- ./letsencrypt:/etc/letsencrypt # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 letsencrypt 文件夹中
按一下 esc ,然后 wq , 保存退出,之后
6.3.放行防火墙端口
在服务器设置防火墙安装组中,把 81 端口放行
莱卡云的服务器默认安全组是会放行端口。如需自定义添加防火墙端口放行可以参考演示示例。文中的规则方向分为出入,所以出入各设置一个策略。协议为 TCP ,端口范围选择 81 ,授权IP参考文中格式。
查看端口是否被占用(以 81 为例),输入:
lsof -i:81 #查看 81 端口是否被占用,如果被占用,重新自定义一个端口
如果啥也没出现,表示端口未被占用,我们可以继续下面的操作了
被占用了就修改一下端口,比如改成 82,注意 docker 命令行里和防火墙都要改
7.使用方法
7.1运行并访问 Nginx Proxy Manager
cd /root/data/docker_data/npm # 来到 dockercompose 文件所在的文件夹下
docker-compose up -d #启动Nginx Proxy Manager
理论上我们就可以输入 http://ip:81 访问了
#默认账号密码
Email: admin@example.com
Password: changeme
注意:
1、不知道服务器 IP,可以直接在命令行输入:curl ip.sb,会显示当前服务器的 IP。
2、遇到访问不了的情况,请再次检查服务商的后台防火墙是否打开对应了端口。
7.2添加反向代理
添加已经经过解析的域名
注意填写对应的 域名、IP 和 端口
添加ssl证书
8.结尾
到这里搭建完成了,有问题可以在评论区留言