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 验证会确认")
|
log_warn("提示: default 文件可能仍存在,nginx 可能有端口冲突;步骤 5 验证会确认")
|
||||||
else:
|
else:
|
||||||
log_info("清默认步骤完成")
|
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
|
return False
|
||||||
|
|
||||||
log_info("启用站点配置...")
|
log_info("启用站点配置...")
|
||||||
ok, _, err = ssh_command(
|
if not enable_nginx_site(remote_conf, DOMAIN):
|
||||||
f"ln -snf {remote_conf} /etc/nginx/sites-enabled/{DOMAIN}.conf "
|
log_error("启用站点失败(详见 enable_nginx_site 内部日志)")
|
||||||
f"&& rm -f /etc/nginx/sites-enabled/default"
|
|
||||||
)
|
|
||||||
if not ok:
|
|
||||||
log_error(f"启用站点失败: {err}")
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
log_info("验证 Nginx 配置...")
|
log_info("验证 Nginx 配置...")
|
||||||
|
|||||||
Reference in New Issue
Block a user