124 lines
3.6 KiB
Batchfile
124 lines
3.6 KiB
Batchfile
@echo off
|
||
chcp 65001 >nul
|
||
title 报告服务启动程序
|
||
|
||
:: 创建日志文件
|
||
echo 启动时间: %date% %time% > service_log.txt
|
||
|
||
:: 设置控制台颜色
|
||
color 0A
|
||
|
||
echo ======================================
|
||
echo 报告服务启动程序
|
||
echo ======================================
|
||
echo.
|
||
|
||
:: 检查 Node.js 是否安装
|
||
echo [信息] 检查 Node.js 安装状态... >> service_log.txt
|
||
where node >nul 2>nul
|
||
if %errorlevel% neq 0 (
|
||
echo [错误] 未安装 Node.js,请先安装 Node.js
|
||
echo [错误] 未安装 Node.js,请先安装 Node.js >> service_log.txt
|
||
echo 请访问 https://nodejs.org 下载安装
|
||
echo.
|
||
echo 按任意键退出...
|
||
pause > nul
|
||
exit /b 1
|
||
)
|
||
echo [成功] Node.js 已安装 >> service_log.txt
|
||
|
||
:: 显示 Node.js 版本
|
||
echo [信息] Node.js 版本:
|
||
node -v
|
||
node -v >> service_log.txt
|
||
|
||
:: 检查是否已安装 PM2
|
||
echo [信息] 检查 PM2 安装状态... >> service_log.txt
|
||
where pm2 >nul 2>nul
|
||
if %errorlevel% neq 0 (
|
||
echo [信息] 正在安装 PM2...
|
||
echo [信息] 正在安装 PM2... >> service_log.txt
|
||
call npm install -g pm2
|
||
if %errorlevel% neq 0 (
|
||
echo [错误] PM2 安装失败,请以管理员权限运行此脚本
|
||
echo [错误] PM2 安装失败 >> service_log.txt
|
||
echo 请右键选择"以管理员身份运行"此脚本
|
||
echo.
|
||
echo 按任意键退出...
|
||
pause > nul
|
||
exit /b 1
|
||
)
|
||
)
|
||
echo [成功] PM2 已安装 >> service_log.txt
|
||
|
||
:: 切换到脚本所在目录
|
||
echo [信息] 切换工作目录... >> service_log.txt
|
||
cd /d "%~dp0"
|
||
echo 当前工作目录: %cd%
|
||
echo 当前工作目录: %cd% >> service_log.txt
|
||
|
||
:: 检查是否存在 package.json
|
||
echo [信息] 检查 package.json... >> service_log.txt
|
||
dir package.json 2>nul | find "package.json" >nul
|
||
if %errorlevel% neq 0 (
|
||
echo [错误] 未找到 package.json 文件
|
||
echo [错误] 未找到 package.json 文件 >> service_log.txt
|
||
echo 请确保在正确的项目目录中运行此脚本
|
||
echo 当前目录: %cd%
|
||
echo.
|
||
echo 目录内容:
|
||
dir
|
||
echo.
|
||
echo 按任意键退出...
|
||
pause > nul
|
||
exit /b 1
|
||
)
|
||
echo [成功] 找到 package.json >> service_log.txt
|
||
|
||
:: 安装依赖
|
||
echo [信息] 正在安装项目依赖...
|
||
echo [信息] 正在安装项目依赖... >> service_log.txt
|
||
call npm install >> service_log.txt 2>&1
|
||
if %errorlevel% neq 0 (
|
||
echo [错误] 依赖安装失败
|
||
echo [错误] 依赖安装失败 >> service_log.txt
|
||
echo 详细错误信息请查看 service_log.txt
|
||
echo.
|
||
echo 按任意键退出...
|
||
pause > nul
|
||
exit /b 1
|
||
)
|
||
echo [成功] 依赖安装完成 >> service_log.txt
|
||
|
||
:: 检查服务是否已在运行
|
||
echo [信息] 检查服务状态... >> service_log.txt
|
||
call pm2 list | findstr "report-service" >nul
|
||
if %errorlevel% equ 0 (
|
||
echo [信息] 服务已在运行,正在重启...
|
||
echo [信息] 服务已在运行,正在重启... >> service_log.txt
|
||
call pm2 restart report-service >> service_log.txt 2>&1
|
||
) else (
|
||
echo [信息] 正在启动服务...
|
||
echo [信息] 正在启动服务... >> service_log.txt
|
||
call pm2 start server.js --name "report-service" >> service_log.txt 2>&1
|
||
)
|
||
|
||
:: 显示服务状态
|
||
echo.
|
||
echo [信息] 服务状态:
|
||
call pm2 list
|
||
call pm2 list >> service_log.txt
|
||
|
||
echo.
|
||
echo [成功] 服务已启动!
|
||
echo [成功] 服务已启动! >> service_log.txt
|
||
echo 访问地址: http://localhost:3000
|
||
echo.
|
||
echo 提示:请不要关闭此窗口,服务将在后台继续运行
|
||
echo 如需停止服务,请运行 stop-service.bat
|
||
echo 如遇问题,请查看 service_log.txt 文件了解详细信息
|
||
echo ======================================
|
||
|
||
echo.
|
||
echo 按任意键继续...
|
||
pause > nul |