| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- #!/bin/bash
- # AI-CS 服务器部署脚本
- # 使用方法:在服务器上运行此脚本进行快速部署
- set -e # 遇到错误立即退出
- echo "🚀 开始部署 AI-CS 系统..."
- # 检查是否为 root 用户
- if [ "$EUID" -ne 0 ]; then
- echo "❌ 请使用 root 用户运行此脚本"
- exit 1
- fi
- # 1. 更新系统
- echo "📦 更新系统软件包..."
- apt update && apt upgrade -y
- # 2. 安装基础工具
- echo "📦 安装基础工具..."
- apt install -y curl wget git vim
- # 3. 安装 Node.js 18+
- echo "📦 安装 Node.js..."
- if ! command -v node &> /dev/null; then
- curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
- apt install -y nodejs
- else
- echo "✅ Node.js 已安装: $(node -v)"
- fi
- # 4. 安装 Go 1.21+
- echo "📦 安装 Go..."
- if ! command -v go &> /dev/null; then
- GO_VERSION="1.21.6"
- wget https://go.dev/dl/go${GO_VERSION}.linux-amd64.tar.gz
- tar -C /usr/local -xzf go${GO_VERSION}.linux-amd64.tar.gz
- echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
- export PATH=$PATH:/usr/local/go/bin
- rm go${GO_VERSION}.linux-amd64.tar.gz
- else
- echo "✅ Go 已安装: $(go version)"
- fi
- # 5. 安装 MySQL
- echo "📦 安装 MySQL..."
- if ! command -v mysql &> /dev/null; then
- apt install -y mysql-server
- systemctl start mysql
- systemctl enable mysql
- echo "⚠️ 请运行 'mysql_secure_installation' 配置 MySQL 安全设置"
- else
- echo "✅ MySQL 已安装"
- fi
- # 6. 安装 Nginx
- echo "📦 安装 Nginx..."
- if ! command -v nginx &> /dev/null; then
- apt install -y nginx
- systemctl start nginx
- systemctl enable nginx
- else
- echo "✅ Nginx 已安装"
- fi
- # 7. 安装 PM2
- echo "📦 安装 PM2..."
- if ! command -v pm2 &> /dev/null; then
- npm install -g pm2
- pm2 startup
- else
- echo "✅ PM2 已安装"
- fi
- # 8. 创建项目目录
- echo "📁 创建项目目录..."
- mkdir -p /var/www
- cd /var/www
- # 9. 提示用户克隆项目
- echo ""
- echo "✅ 基础环境安装完成!"
- echo ""
- echo "📝 接下来的步骤:"
- echo "1. 克隆项目到 /var/www/AI-CS"
- echo " git clone https://github.com/your-username/AI-CS.git"
- echo ""
- echo "2. 配置后端环境变量:"
- echo " cd /var/www/AI-CS/backend"
- echo " cp .env.example .env"
- echo " # 编辑 .env 文件,填入数据库配置"
- echo ""
- echo "3. 创建数据库:"
- echo " mysql -u root -p"
- echo " CREATE DATABASE ai_cs CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
- echo ""
- echo "4. 编译后端:"
- echo " cd /var/www/AI-CS/backend"
- echo " go mod tidy"
- echo " go build -o backend main.go"
- echo ""
- echo "5. 配置前端环境变量:"
- echo " cd /var/www/AI-CS/frontend"
- echo " cp .env.example .env.production"
- echo " # 编辑 .env.production,设置 API 地址"
- echo ""
- echo "6. 构建前端:"
- echo " npm install"
- echo " npm run build"
- echo ""
- echo "7. 配置 Nginx(参考部署文档)"
- echo ""
- echo "8. 配置 SSL 证书:"
- echo " certbot --nginx -d yourdomain.com -d www.yourdomain.com -d api.yourdomain.com"
- echo ""
|