Summary: - Successfully deployed complete system to Aliyun SAE (2025-12-25) - All services running: Python microservice + Node.js backend + Frontend Nginx + CLB - Public access available at http://8.140.53.236/ Major Achievements: 1. Python microservice deployed (v1.0, internal IP: 172.17.173.66:8000) 2. Node.js backend deployed (v1.3, internal IP: 172.17.173.73:3001) - Fixed 4 critical issues: bash path, config directory, pino-pretty, ES Module 3. Frontend Nginx deployed (v1.0, internal IP: 172.17.173.72:80) 4. CLB load balancer configured (public IP: 8.140.53.236) New Documentation (9 docs): - 11-Node.js backend SAE deployment config checklist (21 env vars) - 12-Node.js backend SAE deployment operation manual - 13-Node.js backend image fix record (config directory) - 14-Node.js backend pino-pretty fix - 15-Node.js backend deployment success summary - 16-Frontend Nginx deployment success summary - 17-Complete deployment practical manual 2025 edition (1800 lines) - 18-Deployment documentation usage guide - 19-Daily update quick operation manual (670 lines) Key Fixes: - Environment variable name correction: EXTRACTION_SERVICE_URL (not PYTHON_SERVICE_URL) - Dockerfile fix: added COPY config ./config - Logger configuration: conditional pino-pretty for dev only - Health check fix: ES Module compatibility (require -> import) Updated Files: - System status document updated with full deployment info - Deployment progress overview updated with latest IPs - All 3 Docker services' Dockerfiles and configs refined Verification: - All health checks passed - Tool C 7 features working correctly - Literature screening module functional - Response time < 1 second BREAKING CHANGE: Node.js backend internal IP changed from 172.17.173.71 to 172.17.173.73 Closes #deployment-milestone
39 lines
1.1 KiB
Bash
39 lines
1.1 KiB
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
# ⚠️ 关键:不给默认值,强制在 SAE 控制台配置
|
|
# 如果未配置,报错退出(避免使用错误的后端地址)
|
|
if [ -z "$BACKEND_SERVICE_HOST" ]; then
|
|
echo "❌ ERROR: BACKEND_SERVICE_HOST environment variable is required!"
|
|
echo "Please configure it in SAE console with backend internal IP (e.g., 172.17.x.x)"
|
|
exit 1
|
|
fi
|
|
|
|
if [ -z "$BACKEND_SERVICE_PORT" ]; then
|
|
echo "⚠️ WARNING: BACKEND_SERVICE_PORT not set, using default: 3001"
|
|
export BACKEND_SERVICE_PORT=3001
|
|
fi
|
|
|
|
echo "============================================"
|
|
echo "Starting Frontend Nginx Service"
|
|
echo "Backend Service: ${BACKEND_SERVICE_HOST}:${BACKEND_SERVICE_PORT}"
|
|
echo "Container Timezone: $(cat /etc/timezone)"
|
|
echo "Current Time: $(date)"
|
|
echo "============================================"
|
|
|
|
# 使用 envsubst 替换 Nginx 配置中的环境变量
|
|
envsubst '${BACKEND_SERVICE_HOST} ${BACKEND_SERVICE_PORT}' \
|
|
< /etc/nginx/templates/nginx.conf.template \
|
|
> /etc/nginx/nginx.conf
|
|
|
|
# 验证 Nginx 配置
|
|
nginx -t
|
|
|
|
# 启动 Nginx
|
|
exec nginx -g 'daemon off;'
|
|
|
|
|
|
|
|
|
|
|