From cb55ee2714d7b2f76cca05d8dcfb7f15936b79a2 Mon Sep 17 00:00:00 2001 From: aiotagro Date: Thu, 11 Sep 2025 15:46:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E7=AB=AF=E7=89=88=E6=9C=AC=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E5=99=A8=E9=83=A8=E7=BD=B2=E6=88=90=E5=8A=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/start-production.sh | 79 +--------------- backend/start-without-db.sh | 21 +---- backend/start_backend_simple.sh | 156 +------------------------------- backend/start_server.sh | 2 +- 4 files changed, 4 insertions(+), 254 deletions(-) mode change 100755 => 120000 backend/start-production.sh mode change 100755 => 120000 backend/start-without-db.sh mode change 100755 => 120000 backend/start_backend_simple.sh diff --git a/backend/start-production.sh b/backend/start-production.sh deleted file mode 100755 index a777964..0000000 --- a/backend/start-production.sh +++ /dev/null @@ -1,78 +0,0 @@ -#!/bin/bash - -# 结伴客后端生产环境启动脚本 -# 此脚本用于直接使用生产环境MySQL数据库,不使用Redis和RabbitMQ - -# 设置脚本执行时的选项:出错时退出,未定义变量时出错 -set -euo pipefail - -# 生产环境环境变量配置 -export NODE_ENV="production" -export PORT="3200" -export HOST="0.0.0.0" - -# MySQL数据库配置 - 生产环境 -# 请根据实际情况修改以下配置 -export DB_HOST="nj-cdb-3pwh2kz1.sql.tencentcdb.com" -export DB_PORT="20784" -export DB_NAME="jbkdata" -export DB_USER="jiebanke" -export DB_PASSWORD='aiot741$12346' - -export DATABASE_URL="mysql://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_NAME}" - -# 禁用Redis缓存 -export USE_REDIS="false" -export REDIS_URL="" - -# 禁用RabbitMQ消息队列 -export USE_RABBITMQ="false" -export RABBITMQ_URL="" - -# 应用特定配置 -export JWT_SECRET="your-production-jwt-secret" -export JWT_EXPIRES_IN="30d" -export CRYPTO_SECRET="your-production-crypto-secret" - -# 上传文件配置 -export UPLOAD_DIR="./uploads" -export MAX_FILE_SIZE="10485760" # 10MB - -export ENABLE_SWAGGER="true" # 生产环境启用Swagger文档 -export NO_DB_MODE="false" # 必须使用数据库 - -# 显示启动信息 -echo "========================================" -echo "🚀 结伴客后端生产环境启动脚本" -echo "📅 时间: $(date)" -echo "========================================" -echo "" -echo "🔍 环境变量配置:" -echo "🔹 NODE_ENV: $NODE_ENV" -echo "🔹 PORT: $PORT" -echo "🔹 HOST: $HOST" -echo "🔹 DATABASE_URL: $(echo $DATABASE_URL | sed 's/:.*/:******@/')" -echo "🔹 USE_REDIS: $USE_REDIS" -echo "🔹 USE_RABBITMQ: $USE_RABBITMQ" -echo "🔹 NO_DB_MODE: $NO_DB_MODE" -echo "🔹 ENABLE_SWAGGER: $ENABLE_SWAGGER" -echo "" - -# 检查是否已安装依赖 -echo "🔍 检查依赖安装..." -if [ ! -d "node_modules" ]; then - echo "⚠️ 依赖未安装,开始安装..." - npm install --production - echo "✅ 依赖安装完成" -else - echo "✅ 依赖已安装" -fi - -echo "" -# 启动服务器 -echo "========================================" -echo "🚀 启动服务器..." -echo "========================================" - -# 使用node直接启动服务器(不使用PM2等进程管理器) -node src/server.js \ No newline at end of file diff --git a/backend/start-production.sh b/backend/start-production.sh new file mode 120000 index 0000000..357a726 --- /dev/null +++ b/backend/start-production.sh @@ -0,0 +1 @@ +start-server.sh \ No newline at end of file diff --git a/backend/start-without-db.sh b/backend/start-without-db.sh deleted file mode 100755 index 3520a11..0000000 --- a/backend/start-without-db.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -# 无数据库模式启动脚本 - -# 确保脚本可执行 -echo "🔧 正在准备无数据库模式启动..." - -# 设置NODE_ENV为development -export NODE_ENV=development - -# 设置NO_DB_MODE为true -export NO_DB_MODE=true - -# 启动服务器 -echo "🚀 以无数据库模式启动服务器..." -echo "⚠️ 注意:在无数据库模式下,许多功能将不可用" -echo "📝 查看 /health 和 /system-stats 端点获取服务器状态" -echo "📚 Swagger文档可在 /api-docs 访问" - -npm run dev \ No newline at end of file diff --git a/backend/start-without-db.sh b/backend/start-without-db.sh new file mode 120000 index 0000000..357a726 --- /dev/null +++ b/backend/start-without-db.sh @@ -0,0 +1 @@ +start-server.sh \ No newline at end of file diff --git a/backend/start_backend_simple.sh b/backend/start_backend_simple.sh deleted file mode 100755 index 4442f9e..0000000 --- a/backend/start_backend_simple.sh +++ /dev/null @@ -1,155 +0,0 @@ -#!/bin/bash - -# 结伴客后端服务简化启动脚本 -# 不依赖PM2,直接使用Node.js运行 - -# 设置颜色输出 -RED='\033[0;31m' -GREEN='\033[0;32m' -YELLOW='\033[1;33m' -BLUE='\033[0;34m' -NC='\033[0m' # No Color - -# 配置参数 -APP_DIR="$(pwd)" -NODE_ENV=${NODE_ENV:-"development"} -PORT=${PORT:-"3110"} # 使用3110端口 - -# 数据库配置 - 使用生产环境MySQL数据库 -DB_HOST="nj-cdb-3pwh2kz1.sql.tencentcdb.com" -DB_PORT="20784" -DB_USER="jiebanke" -DB_PASSWORD='aiot741$12346' -DB_NAME="jbkdata" -DATABASE_URL="mysql://$DB_USER:$DB_PASSWORD@$DB_HOST:$DB_PORT/$DB_NAME" - -# 其他配置 -USE_REDIS="false" -USE_RABBITMQ="false" -ENABLE_SWAGGER="true" - -# 检查Node.js环境 -check_node() { - if ! command -v node &> /dev/null; then - echo -e "${RED}错误:Node.js环境未安装!${NC}" - exit 1 - fi - echo -e "${GREEN}Node.js版本: $(node -v)${NC}" -} - -# 检查npm环境 -check_npm() { - if ! command -v npm &> /dev/null; then - echo -e "${RED}错误:npm环境未安装!${NC}" - exit 1 - fi - echo -e "${GREEN}npm版本: $(npm -v)${NC}" -} - -# 安装依赖 -install_dependencies() { - echo -e "${BLUE}正在安装依赖...${NC}" - cd "$APP_DIR" - npm install - if [ $? -ne 0 ]; then - echo -e "${RED}依赖安装失败!${NC}" - exit 1 - fi - echo -e "${GREEN}依赖安装完成!${NC}" -} - -# 启动服务 -start_service() { - echo -e "${BLUE}正在启动结伴客后端服务...${NC}" - cd "$APP_DIR" - - # 设置环境变量 - export NODE_ENV=$NODE_ENV - export PORT=$PORT - export DB_HOST=$DB_HOST - export DB_PORT=$DB_PORT - export DB_USER=$DB_USER - export DB_PASSWORD=$DB_PASSWORD - export DB_NAME=$DB_NAME - export DATABASE_URL=$DATABASE_URL - export USE_REDIS=$USE_REDIS - export USE_RABBITMQ=$USE_RABBITMQ - export ENABLE_SWAGGER=$ENABLE_SWAGGER - - # 打印启动信息 - echo -e "${BLUE}启动配置:${NC}" - echo -e "${BLUE} NODE_ENV: $NODE_ENV${NC}" - echo -e "${BLUE} PORT: $PORT${NC}" - echo -e "${BLUE} DB_HOST: $DB_HOST${NC}" - echo -e "${BLUE} DB_PORT: $DB_PORT${NC}" - echo -e "${BLUE} DB_NAME: $DB_NAME${NC}" - echo -e "${BLUE} USE_REDIS: $USE_REDIS${NC}" - echo -e "${BLUE} USE_RABBITMQ: $USE_RABBITMQ${NC}" - echo -e "${BLUE} ENABLE_SWAGGER: $ENABLE_SWAGGER${NC}" - - # 使用node直接启动服务 - node src/server.js - - if [ $? -ne 0 ]; then - echo -e "${RED}服务启动失败!${NC}" - exit 1 - fi -} - -# 显示帮助信息 -show_help() { - echo "" - echo "结伴客后端服务简化启动脚本" - echo "" - echo "用法: $0 [命令] [环境]" - echo "" - echo "命令选项:" - echo " start - 启动服务(默认)" - echo " install - 仅安装依赖" - echo " help - 显示此帮助信息" - echo "" - echo "环境选项:" - echo " development - 开发环境(默认)" - echo " production - 生产环境" - echo " test - 测试环境" - echo "" -} - -# 主函数 -handle_command() { - # 解析命令和环境参数 - COMMAND="start" - if [ $# -ge 1 ]; then - case $1 in - start|install|help) COMMAND=$1 ;; - *) echo -e "${RED}未知命令:$1${NC}"; show_help; exit 1 ;; - esac - fi - - if [ $# -ge 2 ]; then - case $2 in - development|production|test) NODE_ENV=$2 ;; - *) echo -e "${RED}未知环境:$2${NC}"; show_help; exit 1 ;; - esac - fi - - # 执行相应的命令 - case $COMMAND in - start) - check_node - check_npm - start_service - ;; - install) - check_node - check_npm - install_dependencies - ;; - help) - show_help - ;; - esac -} - -# 执行主函数 -handle_command "$@" \ No newline at end of file diff --git a/backend/start_backend_simple.sh b/backend/start_backend_simple.sh new file mode 120000 index 0000000..357a726 --- /dev/null +++ b/backend/start_backend_simple.sh @@ -0,0 +1 @@ +start-server.sh \ No newline at end of file diff --git a/backend/start_server.sh b/backend/start_server.sh index 9bdbf6d..357a726 120000 --- a/backend/start_server.sh +++ b/backend/start_server.sh @@ -1 +1 @@ -start_server.sh \ No newline at end of file +start-server.sh \ No newline at end of file