欢迎光临
我们一直在努力

安装 Docker/Docker Compose与搭建Nginx Proxy Manager,实现反向代理

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.结尾

到这里搭建完成了,有问题可以在评论区留言

赞(0)
未经允许不得转载:莱卡云 » 安装 Docker/Docker Compose与搭建Nginx Proxy Manager,实现反向代理