Nginx代理管理器简易安装指南

0 股票
0
0
0
0

介绍

我们将安装 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代理管理器。.

发表回复

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

您可能也喜欢