@echo off
|
setlocal enabledelayedexpansion
|
|
rem ============================================================
|
rem Hugray ±¾µØÒ»¼üÆô¶¯£ºNacos -> Redis -> 8 ¸ö΢·þÎñ
|
rem ÒÑÕ¼ÓõĶ˿ڻáÌø¹ý£¬¿ÉÖØ¸´Ö´ÐУ¨Ãݵȣ©
|
rem ============================================================
|
|
rem ---------------------- ÅäÖÃÇø ----------------------
|
set "JAVA_HOME=D:\jdk-17.0.9"
|
set "NACOS_HOME=F:\nacos-3.0.2\nacos"
|
set "REDIS_HOME=C:\Users\Admin\Desktop\redis"
|
rem ----------------------------------------------------
|
|
set "SERVER_DIR=%~dp0.."
|
set "LOG_DIR=%SERVER_DIR%\logs"
|
set "JAVA=%JAVA_HOME%\bin\java.exe"
|
|
if not exist "%JAVA%" (
|
echo [´íÎó] δÕÒµ½ JDK£º%JAVA%
|
echo ÇëÐ޸ı¾½Å±¾¡¸ÅäÖÃÇø¡¹ÖÐµÄ JAVA_HOME
|
pause
|
exit /b 1
|
)
|
|
cd /d "%SERVER_DIR%"
|
if not exist "%LOG_DIR%" md "%LOG_DIR%"
|
|
echo.
|
echo ============ Hugray ±¾µØ¿ª·¢»·¾³Æô¶¯ ============
|
echo JDK : %JAVA_HOME%
|
echo ÈÕÖ¾ : %LOG_DIR%
|
echo ================================================
|
echo.
|
|
rem ---------- 1. Nacos ----------
|
call :port_in_use 8848
|
if not errorlevel 1 (
|
echo [Ìø¹ý] Nacos ÒÑÔÚÔËÐÐ
|
) else (
|
if not exist "%NACOS_HOME%\bin\startup.cmd" (
|
echo [´íÎó] δÕÒµ½ Nacos£º%NACOS_HOME%\bin\startup.cmd
|
pause
|
exit /b 1
|
)
|
echo [Æô¶¯] Nacos -^> %NACOS_HOME%
|
rem ²»ÒªÓà start + startup.cmd£ºstart »áÈÃ×Ó½ø³Ì¼Ì³Ð±¾½Å±¾±»Öض¨ÏòµÄ stdin£¨³£Îª nul£©£¬
|
rem startup.cmd ĩβµÄ pause Òò¶øÁ¢¼´·µ»Ø¡¢¿ØÖÆÌ¨ËæÖ®¹Ø±Õ£¬Nacos »á±»Á¬´øÉ±µô¡£
|
rem ¸ÄÓà Start-Process£¬×Ó½ø³ÌÄõ½¶ÀÁ¢¿ØÖÆÌ¨£¬Nacos ÉúÃüÖÜÆÚÓë±¾½Å±¾½âñî¡£
|
powershell -NoProfile -Command "Start-Process -FilePath '%NACOS_HOME%\bin\startup.cmd' -ArgumentList '-m','standalone' -WindowStyle Hidden"
|
)
|
|
echo [µÈ´ý] Nacos 8848 ¾ÍÐ÷ ...
|
call :wait_port 8848 120
|
if errorlevel 1 (
|
echo [´íÎó] Nacos 120 ÃëÄÚδ¾ÍÐ÷£¬Çë²é¿´ %NACOS_HOME%\logs
|
pause
|
exit /b 1
|
)
|
echo [¾ÍÐ÷] Nacos
|
|
rem ---------- 2. Redis ----------
|
call :port_in_use 6379
|
if not errorlevel 1 (
|
echo [Ìø¹ý] Redis ÒÑÔÚÔËÐÐ
|
) else (
|
if not exist "%REDIS_HOME%\redis-server.exe" (
|
echo [¾¯¸æ] δÕÒµ½ Redis£º%REDIS_HOME%\redis-server.exe£¬Ìø¹ý
|
) else (
|
echo [Æô¶¯] Redis -^> %REDIS_HOME%
|
powershell -NoProfile -Command "Start-Process -FilePath '%REDIS_HOME%\redis-server.exe' -ArgumentList '%REDIS_HOME%\redis.windows.conf' -WorkingDirectory '%REDIS_HOME%' -WindowStyle Hidden"
|
call :wait_port 6379 20
|
if errorlevel 1 echo [¾¯¸æ] Redis Æô¶¯½ÏÂý£¬ÇëÉÔºóÈ·ÈÏ
|
)
|
)
|
|
rem ---------- 3. ΢·þÎñ£¨gateway ·Å×îºó£¬µÈËüÆðÀ´¼´¿ÉÅж¨ÕûÌå¾ÍÐ÷£© ----------
|
echo.
|
echo ---------- Æô¶¯Î¢·þÎñ ----------
|
call :start_service "ruoyi-auth" "ruoyi-auth" "ruoyi-auth.jar" 9200
|
call :start_service "ruoyi-system" "ruoyi-modules\ruoyi-system" "ruoyi-modules-system.jar" 9201
|
call :start_service "ruoyi-gen" "ruoyi-modules\ruoyi-gen" "ruoyi-modules-gen.jar" 9202
|
call :start_service "ruoyi-job" "ruoyi-modules\ruoyi-job" "ruoyi-modules-job.jar" 9203
|
call :start_service "ruoyi-file" "ruoyi-modules\ruoyi-file" "ruoyi-modules-file.jar" 9300
|
call :start_service "ruoyi-user" "ruoyi-modules\ruoyi-user" "ruoyi-modules-user.jar" 9210
|
call :start_service "ruoyi-product" "ruoyi-modules\ruoyi-product" "ruoyi-modules-product.jar" 9211
|
call :start_service "ruoyi-monitor" "ruoyi-visual\ruoyi-monitor" "ruoyi-visual-monitor.jar" 9100
|
call :start_service "ruoyi-gateway" "ruoyi-gateway" "ruoyi-gateway.jar" 8085
|
|
echo.
|
echo ---------- µÈ´ýÍø¹Ø¾ÍÐ÷ ----------
|
call :wait_port 8085 120
|
if errorlevel 1 (
|
echo [¾¯¸æ] Íø¹Ø 8085 δÔÚ 120 ÃëÄÚ¾ÍÐ÷£¬Çë²é¿´ %LOG_DIR%\ruoyi-gateway.err.log
|
) else (
|
echo [¾ÍÐ÷] Íø¹Ø http://localhost:8085
|
)
|
|
echo.
|
echo ============ Æô¶¯Íê³É ============
|
echo Nacos ¿ØÖÆÌ¨ : http://localhost:8082
|
echo Íø¹Ø : http://localhost:8085
|
echo ¹ÜÀíºǫ́ : ¼û hugray-admin Ŀ¼£¨npm run dev£©
|
echo ֹͣȫ²¿ : bin\stop-all.bat
|
echo ================================
|
echo.
|
pause
|
exit /b 0
|
|
|
rem ============================================================
|
rem ×Ó¹ý³Ì
|
rem ============================================================
|
|
rem :port_in_use <¶Ë¿Ú> -- errorlevel 0 ±íʾ¶Ë¿ÚÒѱ»¼àÌý
|
:port_in_use
|
netstat -an | findstr /C:":%~1 " | findstr /C:"LISTENING" >nul 2>&1
|
exit /b %errorlevel%
|
|
rem :wait_port <¶Ë¿Ú> <³¬Ê±ÃëÊý> -- errorlevel 0 ±íʾÒѾÍÐ÷
|
:wait_port
|
set /a _waited=0
|
:wait_port_loop
|
call :port_in_use %~1
|
if not errorlevel 1 exit /b 0
|
set /a _waited+=1
|
if !_waited! GEQ %~2 exit /b 1
|
rem ÑÓʱÓà ping£ºtimeout ÔÚ stdin ±»Öض¨Ïòʱ»áÖ±½ÓÍ˳ö£¬¿¿²»×¡£»
|
rem ¼Ó¾ø¶Ô·¾¶ÊÇΪÁ˱ÜÃâ Git Bash µÈ»·¾³°ÑͬÃû¹¤¾ß»ì½ø PATH
|
"%SystemRoot%\System32\ping.exe" -n 2 -w 1000 127.0.0.1 >nul
|
goto :wait_port_loop
|
|
rem :start_service <Ãû³Æ> <Ä£¿éÏà¶ÔĿ¼> <jar ÎļþÃû> <¶Ë¿Ú>
|
:start_service
|
call :port_in_use %~4
|
if not errorlevel 1 (
|
echo [Ìø¹ý] %~1 - ¶Ë¿Ú %~4 Òѱ»Õ¼ÓÃ
|
exit /b 0
|
)
|
set "_dir=%SERVER_DIR%\%~2\target"
|
set "_jar=%_dir%\%~3"
|
if not exist "%_jar%" (
|
echo [´íÎó] %~1 - δÕÒµ½ %_jar%
|
echo ÇëÏÈÖ´ÐÐ bin\package.bat ¹¹½¨
|
exit /b 1
|
)
|
echo [Æô¶¯] %~1 - ¶Ë¿Ú %~4
|
powershell -NoProfile -Command "Start-Process -FilePath '%JAVA%' -ArgumentList '-Dfile.encoding=UTF-8','-Xms512m','-Xmx1024m','-XX:MetaspaceSize=128m','-XX:MaxMetaspaceSize=512m','-jar','%_jar%' -WorkingDirectory '%_dir%' -RedirectStandardOutput '%LOG_DIR%\%~1.out.log' -RedirectStandardError '%LOG_DIR%\%~1.err.log' -WindowStyle Hidden"
|
exit /b 0
|