#!/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 进行部署"