From ec9366186c30c5092e5a59afc1abf7cbadb3ee50 Mon Sep 17 00:00:00 2001 From: Developer Date: Tue, 2 Dec 2025 00:23:14 -0800 Subject: [PATCH] =?UTF-8?q?fix(mpc-system):=20=E4=BF=AE=E5=A4=8D=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=20gRPC/HTTP=20=E7=AB=AF=E5=8F=A3=E5=86=B2=E7=AA=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 问题: - session-coordinator 和 message-router 都默认使用 gRPC 50051 - 端口冲突导致 message-router 无法启动 - server-party 因无法连接 message-router 而失败 修复: 为每个服务分配独立的端口: - account-service: HTTP 8080 - session-coordinator: gRPC 50051, HTTP 8081 - message-router: gRPC 50052, HTTP 8082 - server-party-1: HTTP 8083 - server-party-2: HTTP 8084 - server-party-3: HTTP 8085 服务器修复步骤: git pull sudo bash scripts/deploy.sh build # 重新生成 systemd 服务文件 sudo bash scripts/deploy.sh restart sudo bash scripts/deploy.sh status 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- backend/mpc-system/scripts/deploy.sh | 40 +++++++++++++++++++++------- 1 file changed, 31 insertions(+), 9 deletions(-) diff --git a/backend/mpc-system/scripts/deploy.sh b/backend/mpc-system/scripts/deploy.sh index 56654e83..55f0ed5b 100644 --- a/backend/mpc-system/scripts/deploy.sh +++ b/backend/mpc-system/scripts/deploy.sh @@ -267,11 +267,12 @@ create_systemd_services() { log_info "Creating systemd service files..." # Common service template + # Args: SERVICE_NAME, DESCRIPTION, EXEC_START, EXTRA_ENV (optional) create_service_file() { local SERVICE_NAME=$1 local DESCRIPTION=$2 local EXEC_START=$3 - local PARTY_ID=$4 + local EXTRA_ENV=$4 cat > "/etc/systemd/system/$SERVICE_NAME.service" << EOF [Unit] @@ -285,7 +286,7 @@ User=$MPC_USER Group=$MPC_GROUP WorkingDirectory=$MPC_HOME EnvironmentFile=$CONFIG_DIR/mpc.env -${PARTY_ID:+Environment=PARTY_ID=$PARTY_ID} +${EXTRA_ENV:+$EXTRA_ENV} ExecStart=$EXEC_START Restart=always RestartSec=5 @@ -303,13 +304,34 @@ WantedBy=multi-user.target EOF } - # Create service files - create_service_file "mpc-account" "Account Service" "$BIN_DIR/account-service" - create_service_file "mpc-session-coordinator" "Session Coordinator" "$BIN_DIR/session-coordinator" - create_service_file "mpc-message-router" "Message Router" "$BIN_DIR/message-router" - create_service_file "mpc-server-party-1" "Server Party 1" "$BIN_DIR/server-party" "server-party-1" - create_service_file "mpc-server-party-2" "Server Party 2" "$BIN_DIR/server-party" "server-party-2" - create_service_file "mpc-server-party-3" "Server Party 3" "$BIN_DIR/server-party" "server-party-3" + # Create service files with different gRPC ports to avoid conflicts + # session-coordinator: gRPC 50051, HTTP 8081 + # message-router: gRPC 50052, HTTP 8082 + # server-party-1/2/3: HTTP 8083/8084/8085 + # account-service: HTTP 8080 + + create_service_file "mpc-account" "Account Service" "$BIN_DIR/account-service" \ + "Environment=MPC_SERVER_HTTP_PORT=8080" + + create_service_file "mpc-session-coordinator" "Session Coordinator" "$BIN_DIR/session-coordinator" \ + "Environment=MPC_SERVER_GRPC_PORT=50051 +Environment=MPC_SERVER_HTTP_PORT=8081" + + create_service_file "mpc-message-router" "Message Router" "$BIN_DIR/message-router" \ + "Environment=MPC_SERVER_GRPC_PORT=50052 +Environment=MPC_SERVER_HTTP_PORT=8082" + + create_service_file "mpc-server-party-1" "Server Party 1" "$BIN_DIR/server-party" \ + "Environment=PARTY_ID=server-party-1 +Environment=MPC_SERVER_HTTP_PORT=8083" + + create_service_file "mpc-server-party-2" "Server Party 2" "$BIN_DIR/server-party" \ + "Environment=PARTY_ID=server-party-2 +Environment=MPC_SERVER_HTTP_PORT=8084" + + create_service_file "mpc-server-party-3" "Server Party 3" "$BIN_DIR/server-party" \ + "Environment=PARTY_ID=server-party-3 +Environment=MPC_SERVER_HTTP_PORT=8085" # Reload systemd systemctl daemon-reload