跳至正文
大神K

编程技术 / Web开发 / AI学习笔记

大神K

编程技术 / Web开发 / AI学习笔记

  • 首页
  • AI
  • 运维
  • 漏洞
  • 安全
  • 逆向
  • 工具
  • 资源
    • 网络
  • 资讯
  • 🛒大神商城
  • ✨ 项目展示
  • 👋 关于我
  • 首页
  • AI
  • 运维
  • 漏洞
  • 安全
  • 逆向
  • 工具
  • 资源
    • 网络
  • 资讯
  • 🛒大神商城
  • ✨ 项目展示
  • 👋 关于我
关

搜索

大神K

编程技术 / Web开发 / AI学习笔记

大神K

编程技术 / Web开发 / AI学习笔记

  • 首页
  • AI
  • 运维
  • 漏洞
  • 安全
  • 逆向
  • 工具
  • 资源
    • 网络
  • 资讯
  • 🛒大神商城
  • ✨ 项目展示
  • 👋 关于我
  • 首页
  • AI
  • 运维
  • 漏洞
  • 安全
  • 逆向
  • 工具
  • 资源
    • 网络
  • 资讯
  • 🛒大神商城
  • ✨ 项目展示
  • 👋 关于我
关

搜索

家/运维与服务器/轻松上手Nginx Proxy Manager:安装、配置与实战
运维与服务器

轻松上手Nginx Proxy Manager:安装、配置与实战

作者 大神K
2026年4月18日 4 分钟阅读
0


简介: Nginx Proxy Manager (NPM) 是一款基于 Nginx 的反向代理管理工具,提供直观的 Web 界面,方便用户配置和管理反向代理、SSL 证书等。本文档介绍了 NPM 的安装步骤,包括 Docker 和 Docker Compose 的安装、Docker Compose 文件的创建与配置、启动服务、访问 Web 管理界面、基本使用方法以及如何申请和配置 SSL 证书,帮助用户快速上手 NPM。

安装部署

概述

Nginx Proxy Manager (NPM) 是一个基于 Nginx 的反向代理管理工具,旨在简化 Nginx 的配置和管理。它提供了一个直观的 Web 界面,使用户可以轻松地设置和管理反向代理、SSL 证书、访问控制等功能。

官网:https://nginxproxymanager.com/

GitHub:https://github.com/NginxProxyManager/nginx-proxy-manager

安装Docker和Docker Compose

如果你的系统上还没有安装Docker和Docker Compose,你可以根据你的操作系统参考官方文档进行安装:

Docker安装文档

Docker Compose安装文档

Docker安装脚本

创建项目目录

创建一个目录来存放Docker Compose文件和相关配置文件:

mkdir nginx-proxy-manager

cd nginx-proxy-manager

创建Docker Compose文件

在项目目录中创建一个名为docker-compose.yml的文件,并添加以下内容:

services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

启动

在项目目录中运行以下命令启动Nginx Proxy Manager,这将下载所需的Docker镜像并启动容器。

docker-compose up -d

## 如果使用docker-compose-plugin
docker compose up -d

数据存储方式说明

Nginx Proxy Manager默认使用SQLite数据库来存储其数据,包括配置、代理主机信息、SSL 证书等。除此之外,Nginx Proxy Manager还可以使用MySQL来进行数据存储。

以下是一个docker-compose.yml文件,Nginx Proxy Manager使用MySQL进行数据存储的示例

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
    environment:
      ## Mysql/Maria connection parameters:
      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'
      MARIADB_AUTO_UPGRADE: '1'
    volumes:
      - ./mysql:/var/lib/mysql

Web管理控制台

访问Web界面

一旦容器启动,你可以通过浏览器访问Nginx Proxy Manager的Web界面。默认地址是http://<your-server-ip>:81。

登录

首次登录时,使用以下默认凭据

Email: [email protected] Password: changeme

登录后,系统会提示更改默认密码。

基本使用

域名与IP绑定

在域名管理服务商那里添加域名与IP的绑定关系。

这里添加一条DNS解析,也就是创建一个二级域名:类型:A、名称:npm、IP:服务器IP。

这表示:访问二级域名npm.域名即可访问服务IP。

添加代理主机

在Web界面中,可以添加新的代理主机来管理反向代理配置。

点击Proxy Hosts选项卡

然后点击Add Proxy Host按钮

在添加代理主机的页面中,填写以下信息:

配置说明

Domain Names :填写网站域名,需要上面做好DNS解析,把域名绑定到服务器IP Scheme : 选择HTTP或HTTPS。默认http即可,除非有自签名证书 Forward Hostname/IP :填写要代理到的目标主机名或IP地址,或者Docker容器内部IP(NPM和程序服务在同一台服务器上) Forward Port:填写目标主机的端口号,这里是NPM管理界面81端口 Cache Assets :缓存,根据需求选择打开 Block Common Exploits: 阻止常见的漏洞,根据需求选择打开 Websockets Support :WS支持,根据需求选择打开 Access List: NPM自带的一个限制访问功能

注意: 这里填的是172.17.0.1,为Docker容器内部的IP地址。可以通过下面的命令查询:

[root@vm ~]## ip addr show docker0
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:39:63:84:15 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever

保存并应用配置

填写完所有必要的信息后,点击Save按钮保存配置。Nginx Proxy Manager会自动生成并应用Nginx 配置文件。

此时,浏览器访问二级域名http://<your-server-domain>即可访问到Nginx Proxy Manager的管理界面

Pasted image 20260320100305.png

一键申请SSL证书

申请SSL证书,让网站支持https访问。

选择创建一个新的证书,勾选强制SSL,填写邮件、同意条款,点击Save即可申请SSL证书

Pasted image 20260320100332.png

此时,浏览器就可以使用https访问,并提示连接安全

Pasted image 20260320100340.png

申请泛域名SSL证书

泛域名SSL证书就是指:申请一个二级域名*.xxx.com证书,这样二级域名无论是什么都可以用这个证书,不再需要为每一个二级域名申请一个SSL证书。

获取API令牌

这里使用Cloudflare托管域名,故登录Cloudflare,获取域名服务商的API令牌

API令牌:在Cloudflare仪表板中,点击右上角的头像,然后选择我的个人资料,在左侧菜单中,选择API 令牌 创建新的API令牌:点击创建令牌按钮 选择API令牌模板:Cloudflare提供了一些预定义的模板,可以选择其中之一,也可以自定义令牌。 根据API令牌用途选择不同模板:对于Nginx Proxy Manager,通常选择编辑区域DNS模板是一个不错的选择。

使用模板后,只需要修改区域资源项,选择要操作的域名即可

Pasted image 20260320100350.png

得到如下提示,获得API令牌

Pasted image 20260320100358.png

添加泛域名证书

选择SSL Certificates -> Add SSL Certificate -> Let's Encrypt选项

Pasted image 20260320100405.png

填写域名: *.域名或域名 *.域名、邮箱

勾选:Use a DNS Challenge、选择DNS提供商:Cloudflare,根据模板提示填入服务商处获取的API令牌

勾选同意条款,然后保存即可

新建代理

进入Proxy Hosts,新建一个反向代理:指定一个二级域名,同时指定某个程序服务端口

Pasted image 20260320100513.png

证书配置这里指定泛域名证书

Pasted image 20260320100520.png

验证

浏览器以https方式访问指定的二级域名,不出意外即可访问对应的服务

Pasted image 20260320100531.png

Nginx Proxy Manager(NPM)部署与配置指南


序言:Nginx Proxy Manager(NPM)概述

Nginx Proxy Manager(NPM)是一款基于Nginx的反向代理管理工具,其设计旨在以高度可视化的方式简化Nginx的配置与维护流程。通过其优雅的Web界面,用户可轻松实现反向代理设置、SSL证书自动化管理、访问权限控制等核心功能,尤其适用于需要快速部署多域名服务或SSL加密的场景。
官方资源:

  • 官网:https://nginxproxymanager.com/
  • GitHub:https://github.com/NginxProxyManager/nginx-proxy-manager

部署流程:从环境搭建到服务启航

1. 环境准备:Docker与Docker Compose安装

若系统尚未安装Docker及Docker Compose,请根据操作系统类型参考官方指南完成部署:

  • Docker安装:Docker官方文档
  • Docker Compose配置:Docker Compose安装指南
  • 便捷脚本:可通过此脚本快速完成Linux环境下的Docker安装。

2. 项目目录创建与配置

为确保文件与数据的有序管理,请执行以下操作:

mkdir nginx-proxy-manager  
cd nginx-proxy-manager  

3. Docker Compose配置文件构建

在项目目录中创建docker-compose.yml文件,基础配置如下:

version: '3.8'  
services:  
  app:  
    image: 'jc21/nginx-proxy-manager:latest'  
    restart: unless-stopped  
    ports:  
      - '80:80'     # HTTP流量映射  
      - '81:81'     # 管理后台访问端口  
      - '443:443'   # HTTPS流量映射  
    volumes:  
      - ./data:/data          # 配置与证书数据持久化  
      - ./letsencrypt:/etc/letsencrypt  # Let's Encrypt证书存储  

进阶配置(MySQL后端支持):
若需使用MySQL作为数据库后端(推荐高可用场景),可采用以下配置:

version: '3.8'  
services:  
  app:  
    ...  
    environment:  
      DB_MYSQL_HOST: "db"  
      DB_MYSQL_PORT: 3306  
      DB_MYSQL_USER: "npm"  
      DB_MYSQL_PASSWORD: "npm"  
      DB_MYSQL_NAME: "npm"  
    depends_on:  
      - db  
  db:  
    image: 'jc21/mariadb-aria:latest'  
    environment:  
      MYSQL_ROOT_PASSWORD: 'npm'  
      MYSQL_DATABASE: 'npm'  
      MYSQL_USER: 'npm'  
      MYSQL_PASSWORD: ' \n      MARIADB_AUTO_UPGRADE: '1'  
    volumes:  
      - ./mysql:/var/lib/mysql  

4. 服务启动与验证

执行以下命令启动容器:

docker-compose up -d  # 或使用docker compose up -d(若已安装Docker Compose插件)  

数据存储说明:

  • SQLite模式:默认使用轻量级SQLite数据库,适合轻量级应用场景。
  • MySQL模式:提供更强的数据持久化与扩展性,推荐用于生产环境。

Web管理界面:掌控全局的可视化入口

访问入口

服务启动后,通过浏览器访问:http://<服务器IP>:81,即可进入管理界面。

首次登录与安全配置

  • 默认凭据:
    • 邮箱:[email protected]
    • 密码:changeme
  • 安全建议:登录后立即修改默认密码,启用双因素认证(如需)。

核心功能实践:代理主机与SSL配置

1. 域名解析配置

在域名注册商平台完成域名与服务器IP的绑定:

  • 示例:添加DNS记录(类型:A记录,名称:npm,值:服务器公网IP)。
  • 验证:确保域名可正确解析至服务器IP。

2. 反向代理主机创建


  • 步骤路径:导航至Proxy Hosts > Add Proxy Host。


  • 关键配置项说明:

    • Domain Names:需绑定的域名(如npm.example.com)。
    • Forward Host/IP:目标服务地址(如Docker容器IP 172.17.0.1或外部IP)。
    • Forward Port:目标服务端口(如81)。
    • SSL/TLS:选择Let's Encrypt自动签发证书,或自定义SSL配置。
  • 进阶选项:

    • 缓存策略:启用静态资源缓存以提升响应速度。
    • 安全防护:启用Block Common Exploits抵御常见攻击。

3. 目标服务IP查询

若需获取容器内网IP,可通过命令:

ip addr show docker0  # 查看Docker默认网桥IP(如172.17.0.1)  

SSL证书管理:Let’s Encrypt自动化集成

NPM无缝支持Let’s Encrypt证书的自动签发与更新:

  1. 在添加代理主机时,选择Let's Encrypt作为SSL模式。
  2. 确保域名解析已生效,且服务器80/443端口可访问。
  3. NPM将自动完成证书签发与续期,无需手动干预。

总结:NPM的价值与扩展性

Nginx Proxy Manager以极简的设计,将复杂的服务代理与SSL管理转化为可视化操作,极大降低了运维门槛。无论是个人开发者还是企业级用户,均可通过其灵活的配置策略实现:

  • 多域名统一管理:通过单一界面管理数百个代理主机。
  • 无缝SSL加密:Let’s Encrypt集成确保所有流量安全传输。
  • 弹性扩展:支持MySQL后端与容器化部署,适应高并发场景。

提示:建议定期备份./data与./letsencrypt目录,以确保配置与证书的持久性。


通过本指南,您已掌握NPM从部署到进阶配置的全流程,接下来可根据实际需求探索更多高级功能,如Websocket支持、访问白名单设置等。祝您在代理管理的旅程中一切顺利!

📌 版权声明

文章作者:大神K

原文链接:https://dashenk.com/2026/04/18/%e8%bd%bb%e6%9d%be%e4%b8%8a%e6%89%8bnginx-proxy-manager%ef%bc%9a%e5%ae%89%e8%a3%85%e3%80%81%e9%85%8d%e7%bd%ae%e4%b8%8e%e5%ae%9e%e6%88%98/

版权说明:本文为原创内容,转载请注明出处。

标签:

NginxNPM搭建反向代理
作者

大神K

我是一个长期在技术与赚钱之间反复横跳的人。 做过网站、搞过SEO、写过程序,也踩过币圈的坑。 现在在做的事情很简单: 用 AI + 技术,把复杂的事情变简单,把一个人变成一支队伍。 这个网站,不是教程站,而是我的「操作记录」。 一个站长如何做 SEO 和流量 一个开发者如何用 AI 提高效率 一个交易者如何系统性构建赚钱模型 只讲能落地的方案,分享: 真实经验 + 踩过的坑 在这个时代,一个人,也可以是一家公司。

关注我
其他文章
上一个

NewAPI目前有个漏洞,在没有配置stripe秘钥的情况下

下一个

Cloudflare R2 + PicList搭建图床教程

暂无评论!成为第一个。

发表回复 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Agent AI写作 AI利用 AI变现 AI大模型 AI工具 AI设计 ChatGPT Claude Cloudflare CVE Epusdt Gemma4 GEO技术 GPT Hermes Image-2 MacOS系统 OpenClaw POC Qwen RackNerd Skills Windows WordPress 下载利器 信息收集 免费工具 免费模型 大龙虾 安卓工具 工具使用 工具利用 开源免费 教程 智能体 本地运行 漏洞 爬虫工具 社工库 网络安全 自媒体工具 谷歌 资源下载 音乐工具

近期文章

  • 🧵【2026 搞钱必备】一张中国身份证,搞定 Wise 国际账户 + Stripe 收款!💸
  • 兄弟们,这个网站绝对牛逼,之前在QQ音乐听歌还得花钱,这回不用了!
  • 男人30岁后,睾固酮每年下降 1%
  • 提升视频质感,送你一份AI视频导演skill
  • 一文速通AI图片提示词(附3个我每天都在用的工具)
广告 × 广告
广告 × 广告
广告 × 广告
大神K
🚀 AI工具|建站教程|副业变现
用技术改变收入结构
免费获取AI工具合集 →
© 2026 大神K · AI Tools & Growth System