Files
AI-CS/scripts/deploy-server.sh
537yaha 109e927152 v1.0.0
2025-12-02 20:03:39 +08:00

117 lines
2.9 KiB
Bash

#!/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 ""