后端版本服务器部署成功
This commit is contained in:
@@ -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
|
||||
1
backend/start-production.sh
Symbolic link
1
backend/start-production.sh
Symbolic link
@@ -0,0 +1 @@
|
||||
start-server.sh
|
||||
@@ -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
|
||||
1
backend/start-without-db.sh
Symbolic link
1
backend/start-without-db.sh
Symbolic link
@@ -0,0 +1 @@
|
||||
start-server.sh
|
||||
@@ -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 "$@"
|
||||
1
backend/start_backend_simple.sh
Symbolic link
1
backend/start_backend_simple.sh
Symbolic link
@@ -0,0 +1 @@
|
||||
start-server.sh
|
||||
@@ -1 +1 @@
|
||||
start_server.sh
|
||||
start-server.sh
|
||||
Reference in New Issue
Block a user