#!/bin/bash

# 服务器初始化脚本 - CentOS 7+
# 目标服务器: 1.13.156.49
# 目标目录: /data/nodejs/jiebanke

# 配置参数
REMOTE_USER="root"
REMOTE_HOST="1.13.156.49"
REMOTE_DIR="/data/nodejs/jiebanke"

# 在服务器上执行初始化命令
echo "开始在服务器 $REMOTE_HOST 上初始化环境..."

ssh "$REMOTE_USER@$REMOTE_HOST" << 'EOF'
set -e

# 更新系统
echo "更新系统包..."
yum update -y

# 安装必要的工具
echo "安装必要工具..."
yum install -y wget curl git vim

# 安装Node.js 18.x
echo "安装Node.js 18.x..."
if ! command -v node &> /dev/null; then
    curl -fsSL https://rpm.nodesource.com/setup_18.x | bash -
    yum install -y nodejs
fi

# 安装PM2进程管理器
echo "安装PM2..."
npm install -g pm2

# 安装MySQL客户端（可选）
echo "安装MySQL客户端..."
yum install -y mysql

# 创建项目目录
echo "创建项目目录..."
mkdir -p /data/nodejs/jiebanke
chmod 755 /data/nodejs/jiebanke

# 创建日志目录
mkdir -p /data/nodejs/jiebanke/logs
chmod 755 /data/nodejs/jiebanke/logs

# 创建上传文件目录
mkdir -p /data/nodejs/jiebanke/uploads
chmod 755 /data/nodejs/jiebanke/uploads

# 检查安装结果
echo "=== 安装结果检查 ==="
echo "Node.js版本: $(node --version)"
echo "npm版本: $(npm --version)"
echo "PM2版本: $(pm2 --version 2>/dev/null || echo '未安装')"
echo "项目目录: /data/nodejs/jiebanke"
echo "目录权限: $(ls -ld /data/nodejs/jiebanke)"

# 配置防火墙（如果需要）
echo "配置防火墙..."
if command -v firewall-cmd &> /dev/null; then
    firewall-cmd --permanent --add-port=3000/tcp
    firewall-cmd --reload
    echo "端口3000已开放"
fi

echo "服务器初始化完成！"
EOF

echo "服务器初始化脚本执行完成！"
echo "接下来可以运行 deploy-backend.sh 进行部署"