30 lines
714 B
Bash
30 lines
714 B
Bash
#!/bin/sh
|
|
set -e
|
|
|
|
# 启动 Dart 后端 (内部端口 8081)
|
|
echo "Starting Dart backend on port 8081..."
|
|
export PORT=8081
|
|
/app/bin/server &
|
|
BACKEND_PID=$!
|
|
|
|
# 等待后端启动
|
|
sleep 2
|
|
|
|
# 启动前端 (Node.js SSR, 端口 8080)
|
|
echo "Starting frontend on port 8080..."
|
|
export PORT=8080
|
|
export HOST=0.0.0.0
|
|
export BACKEND_URL=http://127.0.0.1:8081
|
|
cd /app/web/build
|
|
node index.js &
|
|
FRONTEND_PID=$!
|
|
|
|
# 捕获退出信号,优雅关闭两个服务
|
|
trap "echo 'Shutting down...'; kill $BACKEND_PID $FRONTEND_PID 2>/dev/null; exit 0" SIGTERM SIGINT
|
|
|
|
# 等待任意进程退出
|
|
wait -n $BACKEND_PID $FRONTEND_PID
|
|
|
|
# 如果有一个进程退出,杀死另一个
|
|
kill $BACKEND_PID $FRONTEND_PID 2>/dev/null || true
|
|
exit 1 |