feat(deploy): 实现 enable_nginx_site 步骤 5(验证)+ 集成到 deploy_nginx
This commit is contained in:
@@ -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 配置...")
|
||||
|
||||
Reference in New Issue
Block a user