refactor: 调整部署结构以支持多容器管理
- 重新组织部署目录结构: - DEPLOY_ROOT: /home/novalon/docker-app (多容器管理根目录) - PROJECT_NAME: novalon-website (项目名称) - PROJECT_DIR: /home/novalon/docker-app/novalon-website (项目目录) - CONTAINER_NAME: novalon-website (容器名称) - 修复heredoc变量展开问题,使用双引号ENDSSH - 在上传文件前创建项目目录 - 更新所有容器相关命令使用正确的变量 - 更新部署文档,添加多容器管理结构说明 - 添加运维告警邮箱信息到项目信息
This commit is contained in:
@@ -4,12 +4,15 @@ set -e
|
||||
|
||||
SERVER_IP="139.155.109.62"
|
||||
SERVER_USER="root"
|
||||
DEPLOY_DIR="/home/novalon/docker-app"
|
||||
PROJECT_DIR="novalon-website"
|
||||
DEPLOY_ROOT="/home/novalon/docker-app"
|
||||
PROJECT_NAME="novalon-website"
|
||||
PROJECT_DIR="$DEPLOY_ROOT/$PROJECT_NAME"
|
||||
CONTAINER_NAME="novalon-website"
|
||||
|
||||
echo "🚀 开始部署Novalon网站到服务器 $SERVER_IP"
|
||||
echo "📁 部署目录: $DEPLOY_DIR"
|
||||
echo "🐳 容器名称: $PROJECT_DIR"
|
||||
echo "📁 部署根目录: $DEPLOY_ROOT"
|
||||
echo "📁 项目目录: $PROJECT_DIR"
|
||||
echo "🐳 容器名称: $CONTAINER_NAME"
|
||||
echo "📦 版本号: 1.0.0"
|
||||
echo ""
|
||||
|
||||
@@ -22,13 +25,14 @@ echo "✅ SSH连接验证成功"
|
||||
|
||||
echo ""
|
||||
echo "📋 步骤2: 上传部署文件..."
|
||||
scp -r docker-compose.yml Dockerfile nginx.conf .env.example setup-ssl.sh "$SERVER_USER@$SERVER_IP:$DEPLOY_DIR/"
|
||||
ssh "$SERVER_USER@$SERVER_IP" "mkdir -p '$PROJECT_DIR'"
|
||||
scp -r docker-compose.yml Dockerfile nginx.conf .env.example setup-ssl.sh "$SERVER_USER@$SERVER_IP:$PROJECT_DIR/"
|
||||
echo "✅ 部署文件已上传"
|
||||
|
||||
echo ""
|
||||
echo "📋 步骤3: 在服务器上执行部署..."
|
||||
ssh "$SERVER_USER@$SERVER_IP" << 'ENDSSH'
|
||||
cd '$DEPLOY_DIR'
|
||||
ssh "$SERVER_USER@$SERVER_IP" << ENDSSH
|
||||
cd '$PROJECT_DIR'
|
||||
|
||||
echo "🔒 配置SSL证书..."
|
||||
chmod +x setup-ssl.sh
|
||||
@@ -52,7 +56,7 @@ echo "📋 等待服务启动..."
|
||||
timeout=60
|
||||
elapsed=0
|
||||
while [ $elapsed -lt $timeout ]; do
|
||||
if docker ps | grep -q "novalon-website"; then
|
||||
if docker ps | grep -q "$CONTAINER_NAME"; then
|
||||
echo "✅ 服务已启动"
|
||||
break
|
||||
fi
|
||||
@@ -65,10 +69,10 @@ if [ $elapsed -ge $timeout ]; then
|
||||
fi
|
||||
|
||||
echo "📋 检查容器状态..."
|
||||
docker ps | grep "$PROJECT_DIR"
|
||||
docker ps | grep "$CONTAINER_NAME"
|
||||
|
||||
echo "📋 检查容器日志..."
|
||||
docker logs novalon-website --tail 50
|
||||
docker logs "$CONTAINER_NAME" --tail 50
|
||||
|
||||
echo "📋 配置SSL证书自动续期..."
|
||||
# 添加certbot自动续期cron任务
|
||||
@@ -95,7 +99,7 @@ echo ""
|
||||
echo "📋 后续步骤:"
|
||||
echo " 1. 验证网站可访问性"
|
||||
echo " 2. 检查容器运行状态: docker ps"
|
||||
echo " 3. 查看容器日志: docker logs $PROJECT_DIR"
|
||||
echo " 3. 查看容器日志: docker logs $CONTAINER_NAME"
|
||||
echo " 4. 验证HTTPS配置"
|
||||
echo " 5. 测试网站主要功能"
|
||||
echo " 6. 检查SSL证书自动续期: crontab -l"
|
||||
Reference in New Issue
Block a user