fix(deploy): 适配宁波 NGINX 配置加载路径

宁波 NGINX 仅加载 conf.d/*.conf,原切换脚本写入 sites-enabled 后不会生效。统一将维护页、集群入口和回滚配置写入实际加载的 conf.d 入口,并保留切换前配置备份。\n\n验证:bash -n、ShellCheck、git diff --check、双节点 nginx -t 与 prepare。
This commit is contained in:
2026-07-29 02:06:12 +08:00
parent 74cf0ed5c8
commit b7c03d348e
2 changed files with 7 additions and 14 deletions
+3 -4
View File
@@ -81,11 +81,10 @@ if [[ $mode == activate ]]; then
for host in "$CLUSTER_NINGBO_HOST" "$CLUSTER_HONGKONG_HOST"; do for host in "$CLUSTER_NINGBO_HOST" "$CLUSTER_HONGKONG_HOST"; do
cluster_ssh "$host" 'bash -s' <<'REMOTE' cluster_ssh "$host" 'bash -s' <<'REMOTE'
set -euo pipefail set -euo pipefail
ln -sfn /etc/nginx/sites-available/ai.51easyai.com-cluster \ install -m 0644 /etc/nginx/sites-available/ai.51easyai.com-cluster \
/etc/nginx/conf.d/easyai-ai-gateway-ai.51easyai.com.conf
rm -f /etc/nginx/sites-enabled/ai.51easyai.com \
/etc/nginx/sites-enabled/ai.51easyai.com-cluster /etc/nginx/sites-enabled/ai.51easyai.com-cluster
if [[ -L /etc/nginx/sites-enabled/ai.51easyai.com ]]; then
rm -f /etc/nginx/sites-enabled/ai.51easyai.com
fi
nginx -t nginx -t
systemctl reload nginx systemctl reload nginx
REMOTE REMOTE
+4 -10
View File
@@ -101,7 +101,7 @@ set -euo pipefail
source_sha=$1 source_sha=$1
api_image=$2 api_image=$2
active_site=${AI_GATEWAY_NGINX_ACTIVE_SITE:-/etc/nginx/sites-enabled/ai.51easyai.com} active_site=${AI_GATEWAY_NGINX_ACTIVE_SITE:-/etc/nginx/conf.d/easyai-ai-gateway-ai.51easyai.com.conf}
timestamp=$(date -u '+%Y%m%dT%H%M%SZ') timestamp=$(date -u '+%Y%m%dT%H%M%SZ')
backup_directory=/var/backups/easyai-ai-gateway/pre-cutover-"$timestamp" backup_directory=/var/backups/easyai-ai-gateway/pre-cutover-"$timestamp"
old_site_backup=$backup_directory/nginx-site.conf old_site_backup=$backup_directory/nginx-site.conf
@@ -118,9 +118,7 @@ rollback_before_commit() {
--replicas=0 >/dev/null 2>&1 || true --replicas=0 >/dev/null 2>&1 || true
docker start easyai-ai-gateway-api-1 easyai-ai-gateway-web-1 >/dev/null 2>&1 || true docker start easyai-ai-gateway-api-1 easyai-ai-gateway-web-1 >/dev/null 2>&1 || true
if [[ -f $old_site_backup ]]; then if [[ -f $old_site_backup ]]; then
install -m 0644 "$old_site_backup" /etc/nginx/sites-available/ai.51easyai.com-pre-ha install -m 0644 "$old_site_backup" "$active_site"
rm -f -- "$active_site"
ln -s /etc/nginx/sites-available/ai.51easyai.com-pre-ha "$active_site"
nginx -t && systemctl reload nginx nginx -t && systemctl reload nginx
fi fi
else else
@@ -137,8 +135,7 @@ install -d -m 0700 "$backup_directory"
} }
cp -L "$active_site" "$old_site_backup" cp -L "$active_site" "$old_site_backup"
chmod 0600 "$old_site_backup" chmod 0600 "$old_site_backup"
rm -f -- "$active_site" install -m 0644 /etc/nginx/sites-available/ai.51easyai.com-maintenance "$active_site"
ln -s /etc/nginx/sites-available/ai.51easyai.com-maintenance "$active_site"
nginx -t nginx -t
systemctl reload nginx systemctl reload nginx
curl -ksS --resolve ai.51easyai.com:443:127.0.0.1 \ curl -ksS --resolve ai.51easyai.com:443:127.0.0.1 \
@@ -310,11 +307,8 @@ k3s kubectl scale deployment -n easyai \
easyai-api-ningbo easyai-api-hongkong easyai-web-ningbo easyai-web-hongkong \ easyai-api-ningbo easyai-api-hongkong easyai-web-ningbo easyai-web-hongkong \
--replicas=0 >/dev/null 2>&1 || true --replicas=0 >/dev/null 2>&1 || true
docker start easyai-ai-gateway-api-1 easyai-ai-gateway-web-1 >/dev/null docker start easyai-ai-gateway-api-1 easyai-ai-gateway-web-1 >/dev/null
rm -f -- /etc/nginx/sites-enabled/ai.51easyai.com
install -m 0644 "$backup_directory/nginx-site.conf" \ install -m 0644 "$backup_directory/nginx-site.conf" \
/etc/nginx/sites-available/ai.51easyai.com-pre-ha /etc/nginx/conf.d/easyai-ai-gateway-ai.51easyai.com.conf
ln -s /etc/nginx/sites-available/ai.51easyai.com-pre-ha \
/etc/nginx/sites-enabled/ai.51easyai.com
nginx -t nginx -t
systemctl reload nginx systemctl reload nginx
REMOTE REMOTE