设计思路
- 检查前提条件:确保系统已安装 Docker 和 Docker Compose。
- 创建工作目录:在 VPS 上创建一个目录来存放配置文件和数据。
- 生成 docker-compose.yml 文件:根据
xiaoxinpro/nginx-proxy-manager-zh
项目的官方说明,自动生成配置文件。 - 拉取镜像并启动容器:使用 Docker Compose 启动服务。
- 提供使用提示:安装完成后告知用户如何访问管理界面。
一键安装脚本
以下是一个完整的 Bash 脚本,你可以直接将其保存为 install_nginx_proxy_manager_zh.sh
,然后在 VPS 上运行:
#!/bin/bash
# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
NC='\033[0m' # 无颜色
# 检查是否以 root 或 sudo 运行
if [ "$EUID" -ne 0 ]; then
echo -e "${RED}请以 root 用户或使用 sudo 运行此脚本${NC}"
exit 1
fi
# 检查 Docker 是否安装
if ! command -v docker &> /dev/null; then
echo -e "${RED}Docker 未安装,正在安装...${NC}"
apt-get update -y
apt-get install -y docker.io
systemctl start docker
systemctl enable docker
else
echo -e "${GREEN}Docker 已安装${NC}"
fi
# 检查 Docker Compose 是否安装
if ! command -v docker-compose &> /dev/null; then
echo -e "${RED}Docker Compose 未安装,正在安装...${NC}"
curl -L "https://github.com/docker/compose/releases/download/v2.24.6/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
else
echo -e "${GREEN}Docker Compose 已安装${NC}"
fi
# 创建工作目录
INSTALL_DIR="/opt/nginx-proxy-manager-zh"
if [ ! -d "$INSTALL_DIR" ]; then
mkdir -p "$INSTALL_DIR"
echo -e "${GREEN}创建安装目录: $INSTALL_DIR${NC}"
fi
cd "$INSTALL_DIR" || exit
# 创建 docker-compose.yml 文件
cat << EOF > docker-compose.yml
version: '3'
services:
app:
image: 'chishin/nginx-proxy-manager-zh:latest'
restart: always
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
EOF
# 创建必要的挂载目录
mkdir -p data letsencrypt
# 启动服务
echo -e "${GREEN}正在拉取镜像并启动 Nginx Proxy Manager(中文版)...${NC}"
docker-compose up -d
# 获取 VPS 的 IP 地址
IP=$(curl -s ifconfig.me)
if [ -z "$IP" ]; then
IP=$(hostname -I | awk '{print $1}')
fi
# 检查容器是否成功启动
if docker ps | grep -q "nginx-proxy-manager-zh"; then
echo -e "${GREEN}安装成功!${NC}"
echo -e "请在浏览器中访问: ${GREEN}http://$IP:81${NC}"
echo -e "默认用户名: [email protected]"
echo -e "默认密码: changeme"
echo -e "登录后请立即修改默认密码!"
else
echo -e "${RED}安装失败,请检查 Docker 日志: docker-compose logs${NC}"
exit 1
fi
使用方法
-
保存脚本:
在 VPS 上创建一个文件,例如:nano install_nginx_proxy_manager_zh.sh
将上述脚本内容粘贴进去,然后保存并退出(
Ctrl+O
,回车,Ctrl+X
)。 -
赋予执行权限:
chmod +x install_nginx_proxy_manager_zh.sh
-
运行脚本:
sudo ./install_nginx_proxy_manager_zh.sh
-
等待完成:
脚本会自动安装 Docker 和 Docker Compose(如果未安装),然后部署nginx-proxy-manager-zh
。完成后会显示访问地址和默认登录信息。
脚本功能说明
- 自动安装依赖:如果系统没有 Docker 或 Docker Compose,会自动安装。
- 配置持久化:数据存储在
/opt/nginx-proxy-manager-zh/data
和/opt/nginx-proxy-manager-zh/letsencrypt
中,确保容器重启后数据不会丢失。 - 端口映射:
- 80:HTTP 流量
- 81:管理界面
- 443:HTTPS 流量
- 错误处理:脚本会检查安装是否成功,并提供调试建议。
注意事项
- 系统兼容性:
该脚本假设你的 VPS 使用的是基于 Debian/Ubuntu 的系统。如果使用 CentOS 或其他发行版,可能需要调整安装 Docker 的命令。 - 防火墙:
如果 VPS 有防火墙(如ufw
),请确保开放 80、81 和 443 端口:ufw allow 80 ufw allow 81 ufw allow 443
- 域名配置:
安装完成后,你需要配置域名和 SSL 证书,可以通过管理界面完成。
后续操作
- 升级:
如果需要升级到最新版本,只需进入安装目录并运行:cd /opt/nginx-proxy-manager-zh docker-compose pull docker-compose up -d
- 卸载:
如果需要删除服务:cd /opt/nginx-proxy-manager-zh docker-compose down rm -rf /opt/nginx-proxy-manager-zh
评论区