Ubuntu安装Nginx Proxy Manager

前提条件

  • 操作系统:Ubuntu(建议 20.04 或 22.04,但其他版本通常也适用)。
  • 网络:VPS 有公网 IP,防火墙允许端口 80(HTTP)、443(HTTPS)、81(NPM 管理界面)。
  • 端口检查:NPM 默认使用 80、443、81 端口。确保这些端口未被其他服务占用(稍后会教你检查)。

 

安装步骤

步骤 1:更新系统并安装 Docker

  1. 更新系统包
sudo apt update && sudo apt upgrade -y

安装 Docker:

sudo apt install docker.io -y

启动并启用 Docker:

sudo systemctl start docker
sudo systemctl enable docker

验证 Docker 安装:

docker --version

安装 Docker Compose: 下载最新版本的 Docker Compose:

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

赋予执行权限:

sudo chmod +x /usr/local/bin/docker-compose

验证安装:

docker-compose --version

 

步骤 2:检查端口冲突

NPM 默认使用端口 80、443 和 81。安装前检查这些端口是否被占用:

sudo netstat -tuln | grep ':80\|:443\|:81'
  • 如果输出显示这些端口被占用(例如 Apache 或其他服务),需要释放端口或修改 NPM 的端口配置。
  • 释放端口(可选):如果 80 或 443 被其他服务占用(例如 Apache),停止相关服务:
sudo systemctl stop apache2
sudo systemctl disable apache2

或者,在后续步骤中修改 docker-compose.yml 的端口映射(例如将 81 改为 8081)。

 

步骤 3:创建 Nginx Proxy Manager 配置文件

  1. 创建项目目录

mkdir ~/npm && cd ~/npm

创建 docker-compose.yml 文件: 使用 nano 编辑器:

nano docker-compose.yml

粘贴以下内容(使用 SQLite 数据库,简单且适合大多数场景):

version: '3.8'
services:
  app:
    image: jc21/nginx-proxy-manager:latest
    restart: unless-stopped
    ports:
      - '80:80'    # Public HTTP Port
      - '443:443'  # Public HTTPS Port
      - '81:81'    # Admin Web Port
    environment:
      DB_SQLITE_FILE: "/data/database.sqlite"
      # 如果你的 VPS 不支持 IPv6,取消注释以下行
      # DISABLE_IPV6: 'true'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

保存并退出(Ctrl+O, Enter, Ctrl+X)。

端口说明

  • 80:80:HTTP 流量。
  • 443:443:HTTPS 流量。
  • 81:81:NPM 管理界面。
  • 如果 80、443 或 81 端口被占用,可以修改主机端口,例如将 81:81 改为 8081:81。

 

步骤 4:启动 Nginx Proxy Manager

  1. 启动容器: 在 ~/npm 目录下运行:
docker-compose up -d

这将下载 jc21/nginx-proxy-manager:latest 镜像并启动容器。

检查容器状态:

docker-compose ps

确保状态为 Up。如果有问题,查看日志:

docker logs npm_app_1

 

步骤 5:配置防火墙

确保 Ubuntu 的防火墙(如 ufw)允许 80、443 和 81 端口:

sudo ufw allow 80
sudo ufw allow 443
sudo ufw allow 81

检查防火墙状态:

sudo ufw status

如果你的 VPS 使用云提供商的防火墙(如 AWS、GCP、阿里云),登录云平台控制台,确保这些端口在安全组或网络规则中开放。

步骤 6:访问 Nginx Proxy Manager 管理界面

在浏览器中访问:

http://<你的VPS公网IP>:81

默认登录凭据:

  1. 首次登录: 登录后,系统会提示修改默认用户名和密码。设置一个安全的邮箱和密码。

步骤 7:配置反向代理(可选,基础测试)

  1. 添加代理主机
    • 在 NPM 管理界面,点击“Proxy Hosts” > “Add Proxy Host”。
    • 填写:
      • Domain Names:你的域名(若无域名,可暂时跳过此步)。
      • Scheme:http 或 https(取决于目标服务)。
      • Forward Hostname/IP:目标服务的 IP(例如本地服务 127.0.0.1 或其他容器名称)。
      • Forward Port:目标服务的端口(例如 8080)。
    • 保存后,NPM 会自动配置反向代理。
  2. 配置 SSL(可选)
    • 如果有域名,点击“SSL Certificates” > “Add SSL Certificate”。
    • 选择“Let’s Encrypt”,输入域名和邮箱,启用“Force SSL”以自动重定向 HTTP 到 HTTPS。
    • 确保域名 DNS 已指向 VPS 的公网 IP。

 

 

 

 

 

 

 

 
© 版权声明
THE END
喜欢就支持一下吧
点赞178 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容