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:
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user