From be363f36b3a88f85a0af4164777045c501c04c4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=96=BB=E5=8B=87=E7=A5=A5?= <237899745@qq.com> Date: Tue, 11 Nov 2025 17:50:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D:=20=E4=BF=AE=E5=A4=8Drepair?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E4=B8=AD=E7=9A=84nginx=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E5=A4=87=E4=BB=BD=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 问题: - 备份文件保存在sites-enabled目录导致nginx测试失败 - nginx会读取该目录下所有文件包括旧的错误备份 解决方案: - 将备份文件保存到/root/目录而不是sites-enabled - 在生成新配置前先清理旧的.backup.*文件 - 使用2>/dev/null || true避免清理不存在文件时报错 --- install.sh | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/install.sh b/install.sh index bdce28e..67abee7 100644 --- a/install.sh +++ b/install.sh @@ -2342,10 +2342,14 @@ repair_load_existing_config() { repair_regenerate_nginx_config() { print_step "重新生成Nginx配置..." - # 备份现有配置 + # 清理旧的备份文件(避免nginx读取到错误配置) + rm -f /etc/nginx/sites-enabled/${PROJECT_NAME}.conf.backup.* 2>/dev/null || true + rm -f /etc/nginx/sites-available/${PROJECT_NAME}.conf.backup.* 2>/dev/null || true + + # 备份当前配置到 /root/ if [[ -f "/etc/nginx/sites-enabled/${PROJECT_NAME}.conf" ]]; then - cp "/etc/nginx/sites-enabled/${PROJECT_NAME}.conf" "/etc/nginx/sites-enabled/${PROJECT_NAME}.conf.backup.$(date +%Y%m%d%H%M%S)" - print_success "已备份现有配置" + cp "/etc/nginx/sites-enabled/${PROJECT_NAME}.conf" "/root/nginx-backup-${PROJECT_NAME}.conf.$(date +%Y%m%d%H%M%S)" + print_success "已备份现有配置到 /root/" fi # 调用现有的configure_nginx函数 @@ -2354,7 +2358,6 @@ repair_regenerate_nginx_config() { print_success "Nginx配置已重新生成" echo "" } - repair_restart_services() { print_step "重启服务..."