feat: 初次启动
This commit is contained in:
Executable
+88
@@ -0,0 +1,88 @@
|
||||
#!/bin/bash
|
||||
# Sundynix 微服务启动脚本
|
||||
# 用法: ./scripts/start.sh [服务名]
|
||||
# 例如: ./scripts/start.sh user-rpc
|
||||
# ./scripts/start.sh all (启动所有)
|
||||
# ./scripts/start.sh gateway
|
||||
|
||||
set -e
|
||||
|
||||
BASE_DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
APP_DIR="$BASE_DIR/app"
|
||||
|
||||
start_service() {
|
||||
local name="$1"
|
||||
local dir="$2"
|
||||
local entry="$3"
|
||||
local config="$4"
|
||||
|
||||
echo "🚀 启动 $name ..."
|
||||
cd "$dir"
|
||||
go run "$entry" -f "$config" &
|
||||
echo " PID: $!"
|
||||
}
|
||||
|
||||
case "${1:-help}" in
|
||||
user-rpc)
|
||||
start_service "user-rpc" "$APP_DIR/user/rpc" "user.go" "etc/user.yaml"
|
||||
;;
|
||||
user-api)
|
||||
start_service "user-api" "$APP_DIR/user/api" "user.go" "etc/user-api.yaml"
|
||||
;;
|
||||
file-rpc)
|
||||
start_service "file-rpc" "$APP_DIR/file/rpc" "file.go" "etc/file.yaml"
|
||||
;;
|
||||
file-api)
|
||||
start_service "file-api" "$APP_DIR/file/api" "file.go" "etc/file-api.yaml"
|
||||
;;
|
||||
system-rpc)
|
||||
start_service "system-rpc" "$APP_DIR/system/rpc" "system.go" "etc/system.yaml"
|
||||
;;
|
||||
system-api)
|
||||
start_service "system-api" "$APP_DIR/system/api" "system.go" "etc/system-api.yaml"
|
||||
;;
|
||||
plant-rpc)
|
||||
start_service "plant-rpc" "$APP_DIR/plant/rpc" "plant.go" "etc/plant.yaml"
|
||||
;;
|
||||
plant-api)
|
||||
start_service "plant-api" "$APP_DIR/plant/api" "plant.go" "etc/plant-api.yaml"
|
||||
;;
|
||||
radio-rpc)
|
||||
start_service "radio-rpc" "$APP_DIR/radio/rpc" "radio.go" "etc/radio.yaml"
|
||||
;;
|
||||
radio-api)
|
||||
start_service "radio-api" "$APP_DIR/radio/api" "radio.go" "etc/radio-api.yaml"
|
||||
;;
|
||||
gateway)
|
||||
start_service "gateway" "$APP_DIR/gateway" "gateway.go" "etc/gateway.yaml"
|
||||
;;
|
||||
all)
|
||||
echo "===== 启动 RPC 层 ====="
|
||||
start_service "user-rpc" "$APP_DIR/user/rpc" "user.go" "etc/user.yaml"
|
||||
start_service "file-rpc" "$APP_DIR/file/rpc" "file.go" "etc/file.yaml"
|
||||
start_service "system-rpc" "$APP_DIR/system/rpc" "system.go" "etc/system.yaml"
|
||||
start_service "plant-rpc" "$APP_DIR/plant/rpc" "plant.go" "etc/plant.yaml"
|
||||
start_service "radio-rpc" "$APP_DIR/radio/rpc" "radio.go" "etc/radio.yaml"
|
||||
sleep 3
|
||||
echo "===== 启动 API 层 ====="
|
||||
start_service "user-api" "$APP_DIR/user/api" "user.go" "etc/user-api.yaml"
|
||||
start_service "file-api" "$APP_DIR/file/api" "file.go" "etc/file-api.yaml"
|
||||
start_service "system-api" "$APP_DIR/system/api" "system.go" "etc/system-api.yaml"
|
||||
start_service "plant-api" "$APP_DIR/plant/api" "plant.go" "etc/plant-api.yaml"
|
||||
start_service "radio-api" "$APP_DIR/radio/api" "radio.go" "etc/radio-api.yaml"
|
||||
sleep 2
|
||||
echo "===== 启动网关 ====="
|
||||
start_service "gateway" "$APP_DIR/gateway" "gateway.go" "etc/gateway.yaml"
|
||||
echo ""
|
||||
echo "✅ 全部启动完成,按 Ctrl+C 停止所有服务"
|
||||
wait
|
||||
;;
|
||||
stop)
|
||||
echo "停止所有 sundynix 服务..."
|
||||
pkill -f "sundynix-micro-go/app" 2>/dev/null || true
|
||||
echo "✅ 已停止"
|
||||
;;
|
||||
*)
|
||||
echo "用法: $0 {user-rpc|user-api|file-rpc|file-api|system-rpc|system-api|plant-rpc|plant-api|radio-rpc|radio-api|gateway|all|stop}"
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user