fix: configure_nginx_final()函数添加宝塔面板Nginx重载支持
- 修复选择"暂不配置HTTPS"时Nginx重载失败的问题 - 添加与configure_nginx_http_first()相同的三重保障机制 - 支持宝塔面板环境的nginx命令直接操作
This commit is contained in:
36
install.sh
36
install.sh
@@ -2158,8 +2158,42 @@ configure_nginx_final() {
|
||||
return 1
|
||||
fi
|
||||
|
||||
# 重载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 ""
|
||||
|
||||
Reference in New Issue
Block a user