liujie
4 小时以前 fddf3d913d47f391f84f9e460cb76d427ef02c44
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
@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