fix: 优化宝塔面板Nginx重载逻辑,添加多种重启方式
- 添加BT Panel专用的Nginx重载流程 - 尝试多种方法:BT CLI工具、直接nginx命令、systemctl备用 - 改用进程检查(pgrep)验证Nginx状态,不依赖systemctl - 修复BT Panel环境下nginx启动失败的问题
This commit is contained in:
50
install.sh
50
install.sh
@@ -2068,22 +2068,60 @@ EOF
|
||||
|
||||
# 启动或重载Nginx
|
||||
if [[ "$IS_BT_PANEL" == "true" ]]; then
|
||||
# 宝塔面板:使用reload而不是restart
|
||||
if systemctl is-active --quiet nginx; then
|
||||
systemctl reload nginx
|
||||
print_info "已重载宝塔Nginx配置"
|
||||
# 宝塔面板:尝试多种方式
|
||||
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
|
||||
systemctl start nginx
|
||||
print_info "已启动宝塔Nginx"
|
||||
# 如果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 restart nginx
|
||||
fi
|
||||
|
||||
# 验证Nginx是否运行
|
||||
sleep 2
|
||||
if [[ "$IS_BT_PANEL" == "true" ]]; then
|
||||
# 宝塔:检查进程
|
||||
if pgrep -x nginx > /dev/null; then
|
||||
print_success "Nginx运行正常"
|
||||
else
|
||||
print_error "Nginx未运行"
|
||||
print_warning "请在宝塔面板中手动启动Nginx,或运行:"
|
||||
print_warning "/www/server/nginx/sbin/nginx"
|
||||
return 1
|
||||
fi
|
||||
else
|
||||
# 标准Nginx:使用systemctl检查
|
||||
if ! systemctl is-active --quiet nginx; then
|
||||
print_error "Nginx启动失败"
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
|
||||
print_success "基础HTTP Nginx配置完成"
|
||||
echo ""
|
||||
|
||||
Reference in New Issue
Block a user