| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- #!/bin/bash
- # Tolan后端服务启动脚本
- # 独立启动后端WebSocket服务器
- set -e
- # 颜色定义
- RED='\033[0;31m'
- GREEN='\033[0;32m'
- YELLOW='\033[1;33m'
- BLUE='\033[0;34m'
- NC='\033[0m' # No Color
- # 脚本目录和项目根目录
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
- PROJECT_ROOT="$(dirname "$SCRIPT_DIR")"
- BACKEND_DIR="$PROJECT_ROOT/backend"
- echo -e "${BLUE}Tolan后端服务启动脚本${NC}"
- echo "==============================="
- # 检查后端目录是否存在
- if [ ! -d "$BACKEND_DIR" ]; then
- echo -e "${RED}错误: 后端目录不存在: $BACKEND_DIR${NC}"
- exit 1
- fi
- # 检查run.py文件是否存在
- if [ ! -f "$BACKEND_DIR/run.py" ]; then
- echo -e "${RED}错误: 启动文件不存在: $BACKEND_DIR/run.py${NC}"
- exit 1
- fi
- # 检查SSL证书文件
- SSL_DIR="$PROJECT_ROOT/ssl"
- SSL_CERT_FILE="$SSL_DIR/tolan.crt"
- SSL_KEY_FILE="$SSL_DIR/tolan.key"
- if [ ! -f "$SSL_CERT_FILE" ]; then
- echo -e "${YELLOW}警告: SSL证书文件不存在: $SSL_CERT_FILE${NC}"
- echo -e "${YELLOW}建议运行 scripts/generate-ssl.sh 生成SSL证书${NC}"
- fi
- if [ ! -f "$SSL_KEY_FILE" ]; then
- echo -e "${YELLOW}警告: SSL私钥文件不存在: $SSL_KEY_FILE${NC}"
- echo -e "${YELLOW}建议运行 scripts/generate-ssl.sh 生成SSL证书${NC}"
- fi
- # 检查Python环境
- echo -e "${BLUE}检查Python环境...${NC}"
- if ! command -v python &> /dev/null; then
- echo -e "${RED}错误: 未找到Python${NC}"
- exit 1
- fi
- echo "Python版本: $(python --version)"
- # 切换到后端目录
- echo -e "${BLUE}切换到后端目录: $BACKEND_DIR${NC}"
- cd "$BACKEND_DIR"
- # 设置环境变量
- echo -e "${BLUE}设置环境变量...${NC}"
- export WS_HOST="0.0.0.0"
- export WS_PORT="8765"
- export WSS_PORT="8766"
- export SSL_ENABLED="true"
- export SSL_CERT_FILE="$SSL_CERT_FILE"
- export SSL_KEY_FILE="$SSL_KEY_FILE"
- export LOG_LEVEL="DEBUG"
- # 显示配置信息
- echo -e "${GREEN}服务配置信息:${NC}"
- echo " WebSocket主机: $WS_HOST"
- echo " WebSocket端口: $WS_PORT"
- echo " WebSocket SSL端口: $WSS_PORT"
- echo " SSL启用: $SSL_ENABLED"
- echo " SSL证书文件: $SSL_CERT_FILE"
- echo " SSL私钥文件: $SSL_KEY_FILE"
- echo " 日志级别: $LOG_LEVEL"
- echo ""
- # 启动后端服务
- echo -e "${GREEN}启动后端WebSocket服务器...${NC}"
- echo -e "${YELLOW}按 Ctrl+C 停止服务${NC}"
- echo ""
- python run.py
|