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 ""