侧边栏壁纸
博主头像
尘荞Joueur博主等级

行动起来,活在当下

  • 累计撰写 86 篇文章
  • 累计创建 42 个标签
  • 累计收到 163 条评论

目 录CONTENT

文章目录
VPS

Nginx Proxy Manager 一款Nginx可视化面板

Administrator
2022-07-08 / 0 评论 / 4 点赞 / 251 阅读 / 7312 字

简介

创建这个项目是为了满足个人需求,为用户提供一种简单的方法来完成具有 SSL 终止的反向代理主机,它必须非常简单。虽然可能有高级选项,但它们是可选的,并且项目应该尽可能简单,以便进入这里的门槛很低。

特性
  • 基于Tabler的美观安全的管理界面
  • 无需了解 Nginx 即可轻松创建转发域、重定向、流和 404 主机
  • 使用 Let’s Encrypt 的免费 SSL 或提供您自己的自定义 SSL 证书
  • 主机的访问列表和基本 HTTP 身份验证
  • 高级 Nginx 配置可供超级用户使用
  • 用户管理、权限和审计日志
  • 托管您的家庭网络

Nginx Proxy Manager官网

服务器购买推荐:

点击直达 腾讯云服务器
点击直达 海外服务器
点击直达 阿里云服务器

甲骨文重装系统

bash <(wget --no-check-certificate -qO- 'https://moeclub.org/attachment/LinuxShell/InstallNET.sh') -d 11 -v 64 -a -firmware -p 123456

更新系统环境

apt update -y && apt install -y curl && apt install -y socat && apt install wget -y

安装sudo

apt-get install sudo

安装BBR PLUS 四合一脚本(可选)

wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh" && chmod +x tcp.sh && ./tcp.sh
安装 Docker
sudo apt install docker.io -y && sudo apt install docker-compose
自启动docker
sudo systemctl enable --now docker

开始搭建

创建目录并进入目录

cd /root/

mkdir nginx

cd nginx

创建docker-compose.yml的文件

nano docker-compose.yml

复制代码进入文件中

version: "3"

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

    environment:

      DB_MYSQL_HOST: "db"

      DB_MYSQL_PORT: 3306

      DB_MYSQL_USER: "npm"

      DB_MYSQL_PASSWORD: "npm"

      DB_MYSQL_NAME: "npm"

      # Uncomment this if IPv6 is not enabled on your host

      # DISABLE_IPV6: 'true'

    volumes:

      - ./data:/data

      - ./letsencrypt:/etc/letsencrypt

    depends_on:

      - db



  db:

    image: 'jc21/mariadb-aria:latest'

    restart: unless-stopped

    environment:

      MYSQL_ROOT_PASSWORD: 'npm'

      MYSQL_DATABASE: 'npm'

      MYSQL_USER: 'npm'

      MYSQL_PASSWORD: 'npm'

    volumes:

      - ./data/mysql:/var/lib/mysql

crl+x 然后y 然后回车退出编辑模式。

启动

docker-compose up -d
登陆方式 http://ip:81

image-20220904221320549

默认用户名密码

Email: admin@example.com

Password: changeme

image-20220904221959001

设置用户名 & 邮箱

登录第一个页面就是设置用户名和邮箱,根据自己的情况来修改用户名和邮箱。

648b33f2976a2_70ae5577233d493190eeb0ee1b740671

修改登录密码

第一个输入框是输入当前密码,也就是:changeme

648b33ef7c08c_807c5b28f35b4128acdb30dcf23bda5e

添加证书

打开SSL Certificates,然后点击 Add SSL Certificate

648b33ed615cb_c796f011fdd44c22b92a46737e6258ac

等待成功

648b33ebf2edf_a084b98e05b143479d24d0423b01dc22

申请成功

申请成功后,可以看到有一个SSL证书列表在这里,并且在右边可以看到申请时间。

648b33eac4d8f_c813c1d1102f4ed98ab5605a9ed0f0cb

反向代理服务

什么时候用到反向代理?

我们使用Docker部署服务的时候,一般就使用到了反向代理了。

添加代理服务

进入代理主机服务

08-_E6_B7_BB_E5_8A_A0_E5_8F_8D_E_7ed8a1786aee46509442c05d8a5c4d80

开放端口

这里开放端口,只需要开放服务器的防火墙端口,服务器的安全组不需要开放端口,这是因为在使用Nginx Proxy Manager代理Docker服务时,NPM会将流量从指定的端口转发到相应的Docker容器,如果你的服务器的防火墙没有相应端口开放,请求将无法到达docker容器,从而导致反向代理功能无法正常工作。

比如我上面反向代理docker服务的5350端口,那么我就要在服务器开放5350端口,开放这个端口其实倒也不需要太担心安全问题,只要你不在服务器商的安全组开放端口就好了吗,服务器的端口依然不会被外部访问。

自定义配置

如果你需要自定义Nginx配置,你可以在你需要的主机中,打开Advanced自定义配置,比如下面,我做一个简单的location配置。

648b33e37c865_64b31ce44afd4526b139e8c02666f63d

4

评论区