PMFlow/DEPLOY_TENCENT_CLOUD.md

5.9 KiB
Raw Permalink Blame History

Neural Sync 腾讯云部署指南

服务器要求

  • 系统: Ubuntu 20.04+ / CentOS 8+
  • 配置: 2核4GB RAM 以上
  • 需要: Nginx, Node.js, Python 3.9+, PostgreSQL (可选), Ollama (可选)

一、环境准备

1.1 创建腾讯云轻量应用服务器

  1. 登录 腾讯云控制台
  2. 购买轻量应用服务器 (Lighthouse)
  3. 选择 Ubuntu 20.04 系统镜像
  4. 配置防火墙规则开放端口: 80, 443, 8000

1.2 SSH 连接服务器

ssh root@你的服务器IP

二、一键部署脚本

2.1 方式一:从本地直接上传(推荐开发阶段)

# 在本地项目目录执行
scp -r /path/to/neural-sync root@你的服务器IP:/opt/

2.2 方式二:从 GitHub 拉取代码

# SSH 登录服务器后执行
cd /opt
git clone https://github.com/你的用户名/neural-sync.git
cd neural-sync

2.3 方式三:从 Gitee (码云) 拉取代码

# 如果 GitHub 访问较慢,可以使用 Gitee
cd /opt
git clone https://gitee.com/你的用户名/neural-sync.git
cd neural-sync

2.4 运行部署脚本

2.2 运行部署脚本

chmod +x deploy.sh

# 方式1: 交互式部署(会提示选择代码来源)
./deploy.sh

# 方式2: 指定参数直接部署
# 参数1: 数据库密码 参数2: Git仓库地址
./deploy.sh "你的数据库密码" "https://github.com/xxx/neural-sync.git"

脚本会自动安装所有依赖并启动服务。


三、部署脚本详解

手动部署步骤 (如果自动脚本失败)

1. 安装系统依赖

# 更新系统
apt update && apt upgrade -y

# 安装基础工具
apt install -y curl wget git nginx postgresql postgresql-contrib

# 安装 Python
apt install -y python3.9 python3-pip python3-venv

# 安装 Node.js
curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
apt install -y nodejs

2. 配置 PostgreSQL 数据库

# 启动 PostgreSQL
systemctl start postgresql
systemctl enable postgresql

# 创建数据库和用户
sudo -u postgres psql
CREATE DATABASE neural_sync;
CREATE USER neuraluser WITH PASSWORD 'your_secure_password';
GRANT ALL PRIVILEGES ON DATABASE neural_sync TO neuraluser;
\q

3. 安装 Python 依赖

cd /opt/neural-sync/backend

# 创建虚拟环境
python3 -m venv venv
source venv/bin/activate

# 安装依赖
pip install -r requirements.txt

# 配置环境变量
cp .env.example .env
nano .env

编辑 .env 文件:

# 数据库 - PostgreSQL
DATABASE_URL=postgresql+asyncpg://neuraluser:your_secure_password@localhost:5432/neural_sync

# Ollama (如需本地AI功能)
OLLAMA_HOST=http://127.0.0.1:11434

# 业务上下文 (根据你的业务修改)
BUSINESS_CONTEXT=你的业务描述

4. 运行数据库迁移

# 如果使用 PostgreSQL,需要先安装 pgvector
sudo -u postgres psql -d neural_sync -c "CREATE EXTENSION IF NOT EXISTS vector;"

# 运行迁移
alembic upgrade head

5. 构建前端

cd /opt/neural-sync/frontend

# 安装依赖
npm install

# 构建生产版本
npm run build

6. 配置 Nginx

创建 Nginx 配置文件:

nano /etc/nginx/sites-available/neural-sync
server {
    listen 80;
    server_name 你的域名或IP;

    # 前端静态文件
    location / {
        root /opt/neural-sync/frontend/dist;
        index index.html;
        try_files $uri $uri/ /index.html;
    }

    # 后端 API 代理
    location /api {
        proxy_pass http://127.0.0.1:8000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_cache_bypass $http_upgrade;
    }

    # WebSocket 支持 (如需要)
    location /ws {
        proxy_pass http://127.0.0.1:8000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
    }
}

启用配置:

ln -s /etc/nginx/sites-available/neural-sync /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx

7. 配置 Systemd 服务

创建后端服务文件:

nano /etc/systemd/system/neural-sync.service
[Unit]
Description=Neural Sync Backend
After=network.target postgresql.service

[Service]
Type=simple
User=root
WorkingDirectory=/opt/neural-sync/backend
Environment="PATH=/opt/neural-sync/backend/venv/bin"
EnvironmentFile=/opt/neural-sync/backend/.env
ExecStart=/opt/neural-sync/backend/venv/bin/uvicorn app.main:app --host 127.0.0.1 --port 8000
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

启动服务:

systemctl daemon-reload
systemctl enable neural-sync
systemctl start neural-sync
systemctl status neural-sync

四、验证部署

# 检查服务状态
systemctl status neural-sync
nginx -t

# 测试 API
curl http://127.0.0.1:8000/docs

# 访问前端
curl http://你的服务器IP

五、常用命令

# 重启后端
systemctl restart neural-sync

# 查看后端日志
journalctl -u neural-sync -f

# 重载 Nginx
nginx -s reload

# 停止所有服务
systemctl stop neural-sync
nginx stop

六、可选: 安装 Ollama (本地 AI)

# 安装 Ollama
curl -fsSL https://ollama.com/install.sh | sh

# 启动服务
ollama serve &

# 下载模型
ollama pull llama3
ollama pull nomic-embed-text

七、安全建议

  1. 使用 HTTPS (配置 SSL 证书)
  2. 修改默认数据库密码
  3. 配置防火墙只开放 80/443 端口
  4. 定期更新系统和依赖

八、更新部署

代码更新后,重新部署:

cd /opt/neural-sync

# 拉取最新代码
git pull

# 重新构建前端
cd frontend
npm install
npm run build
cd ..

# 重启后端服务
systemctl restart neural-sync

# 重载 Nginx
nginx -s reload

或使用一键更新脚本:

./update.sh