feat(script): 添加Windows下Nginx+Redis+Jar一键启动脚本

- 新增serve-start.bat批处理脚本文件
- 实现Nginx、Redis和Java Jar包的一键启动功能
- 支持自定义配置路径和启动参数
- 添加启动状态检查和错误提示
- 提供独立窗口运行Jar应用避免阻塞
- 包含详细的服务启动完成提示和测试地址
This commit is contained in:
liuhanqing
2025-12-09 14:17:11 +08:00
parent 458ae995a7
commit d42dae22ce

109
bin/serve-start.bat Normal file
View File

@@ -0,0 +1,109 @@
@echo off
chcp 65001 >nul
title 服务启动脚本(Nginx+Redis+Jar)
setlocal enabledelayedexpansion
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 请根据实际路径修改以下配置项
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Nginx安装目录(nginx.exe所在路径)
set "NGINX_PATH=D:\project\nginx"
:: Redis安装目录(redis-server.exe所在路径)
set "REDIS_PATH=D:\redis"
:: Redis配置文件路径(可选,默认使用redis.windows.conf)
set "REDIS_CONF=%REDIS_PATH%\redis.windows.conf"
:: Jar包路径及名称
set "JAR_PATH=D:\project\ft541\wms\wms.jar"
:: Java启动参数(可根据需要调整内存、端口等)
set "JAVA_OPTS=-Xms512m -Xmx1024m -Dserver.port=8080"
:: Jar包启动后的窗口标题
set "JAR_WINDOW_TITLE=业务应用服务"
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 启动Nginx
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
echo.
echo ==================================================
echo 正在启动Nginx...
echo ==================================================
if not exist "%NGINX_PATH%\nginx.exe" (
echo [错误] Nginx可执行文件不存在:%NGINX_PATH%\nginx.exe
pause
exit /b 1
)
cd /d "%NGINX_PATH%"
start "" nginx.exe
:: 简单延迟检查是否启动成功
timeout /t 2 /nobreak >nul
tasklist | findstr /i "nginx.exe" >nul
if %errorlevel% equ 0 (
echo [成功] Nginx已启动
) else (
echo [失败] Nginx启动失败,请检查路径或配置
)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 启动Redis
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
echo.
echo ==================================================
echo 正在启动Redis...
echo ==================================================
if not exist "%REDIS_PATH%\redis-server.exe" (
echo [错误] Redis可执行文件不存在:%REDIS_PATH%\redis-server.exe
pause
exit /b 1
)
if not exist "%REDIS_CONF%" (
echo [警告] Redis配置文件不存在:%REDIS_CONF%,将使用默认配置启动
)
cd /d "%REDIS_PATH%"
start "Redis服务" redis-server.exe "%REDIS_CONF%"
timeout /t 2 /nobreak >nul
tasklist | findstr /i "redis-server.exe" >nul
if %errorlevel% equ 0 (
echo [成功] Redis已启动
) else (
echo [失败] Redis启动失败,请检查路径或配置
)
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 启动Jar包
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
echo.
echo ==================================================
echo 正在启动Jar包应用...
echo ==================================================
if not exist "%JAR_PATH%" (
echo [错误] Jar包文件不存在:%JAR_PATH%
pause
exit /b 1
)
:: 检查Java环境
java -version >nul 2>&1
if %errorlevel% neq 0 (
echo [错误] 未检测到Java环境,请确保已配置JAVA_HOME或添加java到环境变量
pause
exit /b 1
)
:: 启动Jar包(使用start命令单独打开窗口,避免阻塞)
start "%JAR_WINDOW_TITLE%" java %JAVA_OPTS% -jar "%JAR_PATH%"
echo [信息] Jar包启动命令已执行,应用启动可能需要几秒时间...
echo [提示] 应用窗口标题:%JAR_WINDOW_TITLE%
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: 启动完成提示
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
echo.
echo ==================================================
echo 所有服务启动指令已执行完成!
echo 请检查各服务是否正常运行:
echo - Nginx:访问 http://localhost 测试
echo - Redis:使用客户端连接 localhost:6379 测试
echo - Jar应用:访问 http://localhost:8080 测试(端口请根据实际配置调整)
echo ==================================================
pause