6.0 KiB
6.0 KiB
Neural Sync 腾讯云部署指南
服务器要求
- 系统: Ubuntu 20.04+ / CentOS 8+
- 配置: 2核4GB RAM 以上
- 需要: Nginx, Node.js, Python 3.9+, PostgreSQL (可选), Ollama (可选)
一、环境准备
1.1 创建腾讯云轻量应用服务器
- 登录 腾讯云控制台
- 购买轻量应用服务器 (Lighthouse)
- 选择 Ubuntu 20.04 系统镜像
- 配置防火墙规则开放端口: 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 /opt/neural-sync/.env.example /opt/neural-sync/.env
nano /opt/neural-sync/.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/.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
七、安全建议
- 使用 HTTPS (配置 SSL 证书)
- 修改默认数据库密码
- 配置防火墙只开放 80/443 端口
- 定期更新系统和依赖
八、更新部署
代码更新后,重新部署:
cd /opt/neural-sync
# 拉取最新代码
git pull
# 重新构建前端
cd frontend
npm install
npm run build
cd ..
# 重启后端服务
systemctl restart neural-sync
# 重载 Nginx
nginx -s reload
或使用一键更新脚本:
./update.sh