Files
jiebanke/init-server.sh

74 lines
1.8 KiB
Bash
Raw Normal View History

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