start.sh
1.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/bin/bash
# 启动 LangGraph 服务
APP_DIR="$HOME/langgraph"
LOG_DIR="$APP_DIR/logs"
PID_FILE="$LOG_DIR/app.pid"
LOG_FILE="$LOG_DIR/app.log"
# 创建日志目录
mkdir -p "$LOG_DIR"
# 检查是否已在运行
if [ -f "$PID_FILE" ]; then
PID=$(cat "$PID_FILE")
if ps -p "$PID" > /dev/null 2>&1; then
echo "服务已在运行 (PID: $PID)"
exit 1
else
rm -f "$PID_FILE"
fi
fi
# 检查应用目录
if [ ! -d "$APP_DIR" ]; then
echo "错误: 应用目录不存在: $APP_DIR"
exit 1
fi
# 进入应用目录
cd "$APP_DIR" || exit 1
# 激活虚拟环境
if [ ! -d "venv" ]; then
echo "错误: 虚拟环境不存在,请先创建虚拟环境"
exit 1
fi
source venv/bin/activate
# 检查 .env 文件
if [ ! -f ".env" ]; then
echo "警告: .env 文件不存在,请先配置环境变量"
fi
# 启动服务
echo "正在启动 LangGraph 服务..."
nohup python start_server_direct.py > "$LOG_FILE" 2>&1 &
PID=$!
# 保存进程ID
echo $PID > "$PID_FILE"
# 等待一下,检查进程是否启动成功
sleep 2
if ps -p "$PID" > /dev/null 2>&1; then
echo "✅ 服务已启动 (PID: $PID)"
echo "📝 日志文件: $LOG_FILE"
echo "🌐 访问地址: http://$(hostname -I | awk '{print $1}'):2025"
echo "📊 查看日志: tail -f $LOG_FILE"
else
echo "❌ 服务启动失败,请查看日志: $LOG_FILE"
rm -f "$PID_FILE"
exit 1
fi