#!/bin/bash # 服务器初始化脚本 # 在服务器上运行此脚本来设置环境 set -e echo "开始设置服务器环境..." # 更新系统 echo "更新系统..." apt update && apt upgrade -y # 安装基础工具 echo "安装基础工具..." apt install -y curl wget git build-essential # 安装 Node.js (使用 nvm) echo "安装 Node.js..." if [ ! -d "$HOME/.nvm" ]; then curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" fi source ~/.bashrc nvm install 20 nvm use 20 nvm alias default 20 # 安装 pnpm echo "安装 pnpm..." npm install -g pnpm # 安装 PM2 echo "安装 PM2..." npm install -g pm2 # 安装 PostgreSQL echo "安装 PostgreSQL..." if ! command -v psql &> /dev/null; then apt install -y postgresql postgresql-contrib systemctl start postgresql systemctl enable postgresql fi # 安装 Nginx echo "安装 Nginx..." if ! command -v nginx &> /dev/null; then apt install -y nginx systemctl start nginx systemctl enable nginx fi # 创建项目目录 echo "创建项目目录..." mkdir -p /var/www/ai-chatbot chown -R $USER:$USER /var/www/ai-chatbot # 创建日志目录 mkdir -p /var/log/pm2 chown -R $USER:$USER /var/log/pm2 # 创建备份目录 mkdir -p /root/backups/ai-chatbot # 设置防火墙 echo "配置防火墙..." ufw --force enable ufw allow 80/tcp ufw allow 443/tcp ufw allow 5204/tcp echo "服务器环境设置完成!" echo "" echo "下一步:" echo "1. 配置 PostgreSQL 数据库" echo "2. 上传项目代码到 /var/www/ai-chatbot" echo "3. 配置环境变量 (.env.local)" echo "4. 运行 pnpm install && pnpm db:migrate && pnpm build" echo "5. 使用 PM2 启动应用"