feat(deploy): 实现 enable_nginx_site 步骤 5(验证)+ 集成到 deploy_nginx

This commit is contained in:
deploy-bot
2026-06-02 22:08:59 +08:00
parent b124fe78af
commit 35834b121e
+21 -7
View File
@@ -335,7 +335,25 @@ def enable_nginx_site(remote_conf: str, domain: str) -> bool:
log_warn("提示: default 文件可能仍存在,nginx 可能有端口冲突;步骤 5 验证会确认")
else:
log_info("清默认步骤完成")
return True # Task 4 替换为完整 5 步(含验证)
# ===== 步骤 5: 验证结果 =====
log_info("验证步骤: 检查 symlink 和 default 状态...")
verify_cmd = (
f'readlink {target} && '
f'(test ! -e /etc/nginx/sites-enabled/default && echo "default:OK" || echo "default:STILL_EXISTS") && '
f'ls -la /etc/nginx/sites-enabled/'
)
ok, stdout, err = ssh_command(verify_cmd, timeout=30)
if not ok:
log_error(f"验证步骤失败: {err}")
log_error(f"实际输出: {stdout}")
return False
log_info("验证结果:")
for line in stdout.split('\n'):
if line.strip():
log_info(f" {line}")
log_info("启用站点配置完成")
return True
# ============================================================================
@@ -361,12 +379,8 @@ def deploy_nginx():
return False
log_info("启用站点配置...")
ok, _, err = ssh_command(
f"ln -snf {remote_conf} /etc/nginx/sites-enabled/{DOMAIN}.conf "
f"&& rm -f /etc/nginx/sites-enabled/default"
)
if not ok:
log_error(f"启用站点失败: {err}")
if not enable_nginx_site(remote_conf, DOMAIN):
log_error("启用站点失败(详见 enable_nginx_site 内部日志)")
return False
log_info("验证 Nginx 配置...")