介绍
我们将安装 Nginx Proxy Manager,这是一个开源软件,旨在通过用户界面简化 Nginx Web 服务器的使用。借助 Nginx Proxy Manager,您可以创建代理主机、重定向主机、流和 404 主机。.
先决条件
- 具有专用 IPv4 地址的服务器
- 具备 Linux 和终端的基础知识
- 端口 80、81、443 可用。
步骤 1 – 创建新服务器
例如,使用 Hotsnr 创建一个新服务器
创建服务器时,请务必选择 Docker 支持的操作系统。本教程将使用 Ubuntu 24.04。此外,对于流量不大的反向代理,标准套餐应该足够了。.
建议同时添加 SSH 密钥。.
出于安全考虑,不建议使用 root 用户。您应该创建一个新用户,并将该用户添加到 sudo 用户组。
步骤 2 – 安装 Docker 和 Nginx 代理管理器
- 正在连接到您的服务器
首先,您可以先通过 SSH 连接到您的新服务器。.
ssh holu@<server_ip>
- 安装 Docker
要在 Ubuntu 上安装 Docker,请运行以下命令。如果您的服务器运行的是其他操作系统,请务必查找正确的命令(请参阅“安装 Docker - 支持的平台”)。.
添加 GPG 密钥和 Docker 仓库:
# Uninstall old versions
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
# Install prerequisites
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
# Add Docker’s official GPG key
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Set up stable repository
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null安装 Docker Engine 和 Docker Compose:
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
# Test the installation
docker --version
docker compose version我们已成功安装 Docker 和 Docker Compose。.
将您的用户添加到 Docker 用户组:
sudo usermod -aG docker <user>
请注销并重新登录以更新您的用户组。.
现在我们需要安装 Nginx 代理管理器本身。.
- 安装 Nginx 代理管理器
为nginx代理管理器创建一个新目录:
mkdir -p npm
cd npm运行下面列出的命令。.
# Create a docker-compose configuration file
touch docker-compose.yml
# Editing the file
nano docker-compose.yml请将以下内容放入下方提到的文件中。.
version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
# network_mode: 'host'关于 network_mode 的说明:
- 如果您计划代理到具有公共 IP 的外部服务器,则不需要 network_mode。.
- 如果您计划代理本地 Docker 容器并希望指向 127.0.0.1:你需要设置 network_mode,并且需要删除行首的井号 (#)。.
现在我们需要运行以下命令来启动堆栈。.
docker compose up -d
现在我们应该能够使用以下详细信息访问管理界面。.
将 203.0.113.1 替换为您的公网 IPv4 地址
管理界面:http://203.0.113.1:81
默认管理员用户:
Email: [email protected]
Password: changeme步骤 3 – 访问管理界面
使用默认用户登录后,您必须立即编辑个人资料并更改密码。.
管理员登录页面应如下图所示。.
登录并更改所有默认详细信息后,即可查看“仪表盘”。.
创建您的第一个代理主机非常简单。在“控制面板”中,点击“0 代理主机”»“添加代理主机”。下图展示了如何从域名 (proxy.example.com) 访问管理界面的基本配置。请确保该域名已配置 DNS 记录,指向服务器的公共 IPv4 地址。.
之后,您很可能需要 SSL 证书来确保安全。以下是 SSL 选项初始配置的屏幕截图。.
您可以根据需要勾选其他选项,例如“强制使用 SSL”等。图中未勾选这些选项,是为了避免阅读本教程的读者产生误解,误以为需要勾选它们。.
保存新条目后,您可以从您设置的域(在本例中为 proxy.example.com)访问管理界面。.
Nginx代理管理器现已准备就绪,您可以添加代理主机了。.
如果您在上面的 Docker Compose 文件中添加了 network_mode,则应该能够将所有本地容器的“转发主机名/IP”设置为 127.0.0.1。例如,一个本地 WordPress Docker 容器:
holu@tutorial:~/npm$ docker run -p 8080:80 -d wordpress
holu@tutorial:~/npm$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
23bcbfe55c53 jc21/nginx-proxy-manager "/init" 31 minutes ago Up 31 minutes npm-app-1
e9853acea394 wordpress "docker-entrypoint.s…" 22 minutes ago Up 22 minutes 0.0.0.0:8080->80/tcp, :::8080->80/tcp thirsty_greider您可以将目标地址设置为 http://127.0.0.1:8080:
如果你的 Docker Compose 文件中没有 network_mode: 'host',则需要将目标设置为公共 IP 地址,在本例中为 203.0.113.1:8080。.
结果
现在你需要安装一个Nginx代理管理器。.














