mysora/deploy/setup.sh

62 lines
1.8 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env bash
# 在训练服务器ceshi 用户)上执行,完成 API 服务的一键部署
set -euo pipefail
REPO=/home/ceshi/mysora
VENV=/home/ceshi/venv
LOG_DIR=/data/train-output/logs
echo "=== [1/6] 安装 API 依赖 ==="
$VENV/bin/pip install \
fastapi \
"uvicorn[standard]" \
gunicorn \
celery[redis] \
redis \
--quiet
echo "=== [2/6] 安装 NGINX ==="
sudo apt-get install -y nginx --quiet
echo "=== [3/6] 配置 NGINX ==="
sudo cp $REPO/deploy/nginx.conf /etc/nginx/sites-available/opensora
sudo ln -sf /etc/nginx/sites-available/opensora /etc/nginx/sites-enabled/opensora
sudo rm -f /etc/nginx/sites-enabled/default
sudo nginx -t
sudo systemctl enable nginx
sudo systemctl restart nginx
echo "=== [4/6] 安装并启动 Redis ==="
sudo apt-get install -y redis-server --quiet
# 开启 AOF 持久化,防止重启丢失任务
sudo sed -i 's/^appendonly no/appendonly yes/' /etc/redis/redis.conf
sudo systemctl enable redis
sudo systemctl restart redis
echo "=== [5/6] 创建日志目录 ==="
mkdir -p $LOG_DIR
sudo chown -R ceshi:ceshi $LOG_DIR
echo "=== [6/6] 注册并启动 systemd 服务 ==="
sudo cp $REPO/deploy/opensora-api.service /etc/systemd/system/
sudo cp $REPO/deploy/opensora-worker@.service /etc/systemd/system/
sudo systemctl daemon-reload
# 启动 API 服务
sudo systemctl enable opensora-api
sudo systemctl restart opensora-api
# 启动 8 个 GPU WorkerGPU 0-7
for i in $(seq 0 7); do
sudo systemctl enable opensora-worker@$i
sudo systemctl restart opensora-worker@$i
done
echo ""
echo "=== 部署完成 ==="
echo "API 服务: http://$(hostname -I | awk '{print $1}')/v1/generate"
echo "健康检查: http://$(hostname -I | awk '{print $1}')/health"
echo ""
echo "查看 API 日志: sudo journalctl -u opensora-api -f"
echo "查看 Worker 日志: tail -f $LOG_DIR/worker-gpu0.log"