4d824a77
tangwang
所有租户共用一套统一配置.tena...
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#!/bin/bash
# Unified startup script for SearchEngine services
# This script starts both frontend and backend services
cd "$(dirname "$0")/.."
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m'
echo -e "${GREEN}========================================${NC}"
echo -e "${GREEN}SearchEngine服务启动脚本${NC}"
echo -e "${GREEN}========================================${NC}"
# Create logs directory if it doesn't exist
mkdir -p logs
|
bb9c626c
tangwang
搜索服务(6002)不再初始化/挂...
|
20
21
22
|
# Step 1: Start backend in background (search API)
echo -e "\n${YELLOW}Step 1/3: 启动后端搜索服务${NC}"
echo -e "${YELLOW}后端搜索服务将在后台运行...${NC}"
|
4d824a77
tangwang
所有租户共用一套统一配置.tena...
|
23
24
25
26
|
nohup ./scripts/start_backend.sh > logs/backend.log 2>&1 &
BACKEND_PID=$!
echo $BACKEND_PID > logs/backend.pid
|
bb9c626c
tangwang
搜索服务(6002)不再初始化/挂...
|
27
|
echo -e "${GREEN}后端搜索服务已启动 (PID: $BACKEND_PID)${NC}"
|
4d824a77
tangwang
所有租户共用一套统一配置.tena...
|
28
29
30
|
echo -e "${GREEN}日志文件: logs/backend.log${NC}"
# Wait for backend to start
|
bb9c626c
tangwang
搜索服务(6002)不再初始化/挂...
|
31
|
echo -e "${YELLOW}等待后端搜索服务启动...${NC}"
|
4d824a77
tangwang
所有租户共用一套统一配置.tena...
|
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
MAX_RETRIES=30
RETRY_COUNT=0
BACKEND_READY=false
while [ $RETRY_COUNT -lt $MAX_RETRIES ]; do
sleep 2
if curl -s http://localhost:6002/health > /dev/null 2>&1; then
BACKEND_READY=true
break
fi
RETRY_COUNT=$((RETRY_COUNT + 1))
echo -e "${YELLOW} 等待中... ($RETRY_COUNT/$MAX_RETRIES)${NC}"
done
# Check if backend is running
if [ "$BACKEND_READY" = true ]; then
|
bb9c626c
tangwang
搜索服务(6002)不再初始化/挂...
|
48
|
echo -e "${GREEN}✓ 后端搜索服务运行正常${NC}"
|
4d824a77
tangwang
所有租户共用一套统一配置.tena...
|
49
|
else
|
bb9c626c
tangwang
搜索服务(6002)不再初始化/挂...
|
50
|
echo -e "${RED}✗ 后端搜索服务启动失败,请检查日志: logs/backend.log${NC}"
|
4d824a77
tangwang
所有租户共用一套统一配置.tena...
|
51
52
53
54
|
echo -e "${YELLOW}提示: 后端服务可能需要更多时间启动,或者检查端口是否被占用${NC}"
exit 1
fi
|
bb9c626c
tangwang
搜索服务(6002)不再初始化/挂...
|
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
# Step 2: Start indexer in background
echo -e "\n${YELLOW}Step 2/3: 启动索引服务${NC}"
echo -e "${YELLOW}索引服务将在后台运行...${NC}"
nohup ./scripts/start_indexer.sh > logs/indexer.log 2>&1 &
INDEXER_PID=$!
echo $INDEXER_PID > logs/indexer.pid
echo -e "${GREEN}索引服务已启动 (PID: $INDEXER_PID)${NC}"
echo -e "${GREEN}日志文件: logs/indexer.log${NC}"
# Wait for indexer to start
echo -e "${YELLOW}等待索引服务启动...${NC}"
MAX_RETRIES=30
RETRY_COUNT=0
INDEXER_READY=false
while [ $RETRY_COUNT -lt $MAX_RETRIES ]; do
sleep 2
if curl -s http://localhost:6004/health > /dev/null 2>&1; then
INDEXER_READY=true
break
fi
RETRY_COUNT=$((RETRY_COUNT + 1))
echo -e "${YELLOW} 等待中... ($RETRY_COUNT/$MAX_RETRIES)${NC}"
done
if [ "$INDEXER_READY" = true ]; then
echo -e "${GREEN}✓ 索引服务运行正常${NC}"
else
echo -e "${YELLOW}⚠ 索引服务可能还在启动中,请稍后访问 (日志: logs/indexer.log)${NC}"
fi
# Step 3: Start frontend in background
echo -e "\n${YELLOW}Step 3/3: 启动前端服务${NC}"
|
4d824a77
tangwang
所有租户共用一套统一配置.tena...
|
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
|
echo -e "${YELLOW}前端服务将在后台运行...${NC}"
nohup ./scripts/start_frontend.sh > logs/frontend.log 2>&1 &
FRONTEND_PID=$!
echo $FRONTEND_PID > logs/frontend.pid
echo -e "${GREEN}前端服务已启动 (PID: $FRONTEND_PID)${NC}"
echo -e "${GREEN}日志文件: logs/frontend.log${NC}"
# Wait for frontend to start
echo -e "${YELLOW}等待前端服务启动...${NC}"
MAX_RETRIES=15
RETRY_COUNT=0
FRONTEND_READY=false
while [ $RETRY_COUNT -lt $MAX_RETRIES ]; do
sleep 2
if curl -s http://localhost:6003/ > /dev/null 2>&1; then
FRONTEND_READY=true
break
fi
RETRY_COUNT=$((RETRY_COUNT + 1))
echo -e "${YELLOW} 等待中... ($RETRY_COUNT/$MAX_RETRIES)${NC}"
done
# Check if frontend is running
if [ "$FRONTEND_READY" = true ]; then
echo -e "${GREEN}✓ 前端服务运行正常${NC}"
else
echo -e "${YELLOW}⚠ 前端服务可能还在启动中,请稍后访问${NC}"
fi
echo -e "${GREEN}========================================${NC}"
echo -e "${GREEN}所有服务启动完成!${NC}"
echo -e "${GREEN}========================================${NC}"
echo ""
echo -e "访问地址:"
echo -e " ${GREEN}前端界面: http://localhost:6003${NC}"
echo -e " ${GREEN}后端API: http://localhost:6002${NC}"
echo -e " ${GREEN}API文档: http://localhost:6002/docs${NC}"
echo ""
echo -e "日志文件:"
echo -e " 后端: logs/backend.log"
echo -e " 前端: logs/frontend.log"
echo ""
echo -e "停止服务:"
echo -e " 所有服务: ./scripts/stop.sh"
echo -e " 单独停止后端: kill \$(cat logs/backend.pid)"
echo -e " 单独停止前端: kill \$(cat logs/frontend.pid)"
echo ""
|