From 72ec10ef4e06c975e83d2b82cc677732f04f3c65 Mon Sep 17 00:00:00 2001 From: WanWanYun Date: Thu, 13 Nov 2025 09:50:39 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20configure=5Fnginx=5Ffinal()=E5=87=BD?= =?UTF-8?q?=E6=95=B0=E6=B7=BB=E5=8A=A0=E5=AE=9D=E5=A1=94=E9=9D=A2=E6=9D=BF?= =?UTF-8?q?Nginx=E9=87=8D=E8=BD=BD=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修复选择"暂不配置HTTPS"时Nginx重载失败的问题 - 添加与configure_nginx_http_first()相同的三重保障机制 - 支持宝塔面板环境的nginx命令直接操作 --- install.sh | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/install.sh b/install.sh index 89dfb5e..642f592 100644 --- a/install.sh +++ b/install.sh @@ -2158,8 +2158,42 @@ configure_nginx_final() { return 1 fi - # 重载nginx - systemctl reload nginx + # 重载nginx - 兼容宝塔面板 + if [[ "$IS_BT_PANEL" == "true" ]]; then + # 宝塔面板:尝试多种方式 + print_info "宝塔环境,重载Nginx配置..." + + # 方式1: 使用宝塔命令行工具(如果存在) + if [[ -f /etc/init.d/bt ]]; then + /etc/init.d/bt restart 2>/dev/null + fi + + # 方式2: 直接使用nginx命令reload(最可靠) + if [[ -f /www/server/nginx/sbin/nginx ]]; then + /www/server/nginx/sbin/nginx -s reload 2>/dev/null + if [[ $? -eq 0 ]]; then + print_success "已使用nginx -s reload重载配置" + else + # 如果reload失败,尝试启动 + /www/server/nginx/sbin/nginx 2>/dev/null + if [[ $? -eq 0 ]]; then + print_success "已启动Nginx" + else + print_warning "Nginx reload失败,尝试systemctl..." + fi + fi + fi + + # 方式3: 尝试systemctl(备用) + if systemctl is-active --quiet nginx 2>/dev/null; then + systemctl reload nginx 2>/dev/null && print_info "已使用systemctl重载配置" + else + systemctl start nginx 2>/dev/null && print_info "已使用systemctl启动Nginx" + fi + else + # 标准Nginx:重载 + systemctl reload nginx + fi print_success "Nginx最终配置完成" echo ""