Compare commits

..

6 Commits

8 changed files with 173 additions and 107 deletions

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,61 @@
upstream portal {
server 127.0.0.1:18880;
keepalive 32;
}
server {
listen 18080;
server_name _;
gzip on;
gzip_min_length 1k;
gzip_comp_level 9;
gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml;
gzip_vary on;
gzip_disable "MSIE [1-6]\.";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
add_header X-Content-Type-Options "nosniff";
add_header X-Frame-Options "SAMEORIGIN";
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_read_timeout 60s;
proxy_connect_timeout 5s;
proxy_send_timeout 30s;
proxy_buffering off;
location = / {
rewrite ^ /home permanent;
}
location / {
proxy_pass http://portal/;
}
location /assets/ {
proxy_pass http://portal/assets/;
expires 30d;
access_log off;
}
location /api/ {
proxy_pass http://portal/api/;
client_max_body_size 100M;
}
location /dev-api/ {
proxy_pass http://portal/dev-api/;
client_max_body_size 100M;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}

View File

@ -0,0 +1,11 @@
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
include home-windows.conf;
}

View File

@ -1,112 +1,103 @@
@echo off
setlocal enabledelayedexpansion
chcp 65001 >nul
title RocketMQ 5.x Quick Start (with Proxy)
title RocketMQ Quick Start
set "SCRIPT_DIR=%~dp0"
cd /d "%SCRIPT_DIR%"
:: 1. 检查 ROCKETMQ_HOME 是否存在
if "%ROCKETMQ_HOME%" == "" (
:: 如果未设置,尝试使用上级的上级目录作为默认值
set "ROCKETMQ_HOME=%~dp0..\"
set "ROCKETMQ_HOME=%SCRIPT_DIR%.."
echo [INFO] ROCKETMQ_HOME is not set, using default: !ROCKETMQ_HOME!
)
:: 2. 检查 mqnamesrv.cmd 是否存在
if not exist "%ROCKETMQ_HOME%\bin\mqnamesrv.cmd" (
echo [ERROR] mqnamesrv.cmd not found in %ROCKETMQ_HOME%\bin
echo Please set correct ROCKETMQ_HOME environment variable
pause
exit /b 1
)
:: 3. 检查 JAVA_HOME
if "%JAVA_HOME%" == "" (
echo [WARN] JAVA_HOME is not set, trying to find Java automatically...
goto :FOUNING_JAVA
call :FIND_JAVA
if errorlevel 1 (
echo [ERROR] Java not found
exit /b 1
)
) else (
if not exist "%JAVA_HOME%\bin\java.exe" (
echo [WARN] %JAVA_HOME%\bin\java.exe is not exist, trying to find Java automatically...
goto :FOUNING_JAVA
call :FIND_JAVA
if errorlevel 1 (
echo [ERROR] Java not found
exit /b 1
)
)
goto :START_SERVER
)
:FOUNING_JAVA
:: 尝试在常见位置查找Java
echo FOUNDING ===== START
echo [INFO] Starting NameServer...
start "RocketMQ NameServer" /B cmd /c ""%ROCKETMQ_HOME%\bin\mqnamesrv.cmd""
timeout /t 3 /nobreak >nul
echo [INFO] Starting Broker...
start "RocketMQ Broker" /B cmd /c ""%ROCKETMQ_HOME%\bin\mqbroker.cmd" -c ../conf/broker-localhost.conf"
timeout /t 5 /nobreak >nul
set MAX_RETRY=5
set RETRY_COUNT=0
:START_PROXY
set /a RETRY_COUNT+=1
echo [INFO] Starting Proxy (Attempt !RETRY_COUNT!/!MAX_RETRY!)...
start "RocketMQ Proxy" /B cmd /c ""%ROCKETMQ_HOME%\bin\mqproxy.cmd" -n localhost:9876"
echo [INFO] Checking proxy status...
set PORT_OPEN=0
for /l %%i in (1,1,10) do (
timeout /t 1 /nobreak >nul
netstat -ano | findstr ":8081" | findstr "LISTENING" >nul && set PORT_OPEN=1
if !PORT_OPEN! equ 1 goto :PROXY_SUCCESS
)
if !RETRY_COUNT! lss !MAX_RETRY! (
taskkill /f /im java.exe /fi "WINDOWTITLE eq RocketMQ Proxy" >nul 2>&1
goto :START_PROXY
) else (
echo [ERROR] Failed to start Proxy after !MAX_RETRY! attempts
goto :START_DASHBOARD
)
:PROXY_SUCCESS
echo [INFO] Proxy started successfully
:START_DASHBOARD
if exist "%ROCKETMQ_HOME%\bin\rocketmq-dashboard.jar" (
echo [INFO] Starting Dashboard...
start "RocketMQ Dashboard" /B cmd /c ""%JAVA_HOME%\bin\java" -jar -Dserver.port=8088 "%ROCKETMQ_HOME%\bin\rocketmq-dashboard.jar""
)
echo.
echo ========================================
echo RocketMQ Services Status
echo ========================================
echo - NameServer (Port: 9876)
echo - Broker (Port: 10911)
echo - Proxy (Port: 8081)
echo - Dashboard (Port: 8080)
echo ========================================
echo.
exit /b 0
:FIND_JAVA
for %%d in (
"%ProgramFiles%\Java\"
"%ProgramFiles(x86)%\Java\"
"%~dp0..\jdk"
"%~dp0..\java"
"%~dp0..\..\jdk"
"%~dp0..\..\java"
"%ROCKETMQ_HOME%\jdk"
"%ROCKETMQ_HOME%\java"
"%ROCKETMQ_HOME%\..\jdk"
"%ROCKETMQ_HOME%\..\java"
) do (
echo [INFO] == %%~d
if exist "%%~d\bin\java.exe" (
set "JAVA_HOME=%%~d"
echo [INFO] Found Java at: !JAVA_HOME!
goto :START_SERVER
exit /b 0
)
)
echo FOUNDING ===== END
goto :NOT_FOUND_JAVA
:NOT_FOUND
echo [ERROR] java.exe not found in %JAVA_HOME%\bin
echo Please set correct JAVA_HOME environment variable
pause
exit /b 1
:NOT_FOUND_JAVA
echo [ERROR] Java not found automatically and JAVA_HOME is not set
echo Please install Java or set JAVA_HOME environment variable
pause
exit /b 1
:START_SERVER
echo [INFO] Using JAVA_HOME: %JAVA_HOME%
if exist "%ROCKETMQ_HOME%\sbin\store\" (
set "INITIAL=TRUE"
)
:: 4. 启动 NameServer
start "RocketMQ NameServer" cmd /k "%ROCKETMQ_HOME%\bin\mqnamesrv.cmd"
:: 等待 NameServer 启动
timeout /t 5 /nobreak >nul
:: 5. 启动 Broker如果需要直接访问 Broker可单独启动
:: start "RocketMQ Broker" cmd /k "%ROCKETMQ_HOME%\bin\mqbroker.cmd" -n localhost:9876
:: start "RocketMQ Broker" cmd /k "%ROCKETMQ_HOME%\bin\mqbroker.cmd" -n localhost:9876 autoCreateTopicEnable=true
:: start "RocketMQ Broker" cmd /k "%ROCKETMQ_HOME%\bin\mqbroker.cmd" -n localhost:9876 -c ../conf/broker.conf
start "RocketMQ Broker" cmd /k "%ROCKETMQ_HOME%\bin\mqbroker.cmd" -c ../conf/broker-localhost.conf
:: 等待 Broker 启动
timeout /t 10 /nobreak >nul
:: 6. 启动 ProxyRocketMQ 5.x 推荐方式)
start "RocketMQ Proxy" cmd /k "%ROCKETMQ_HOME%\bin\mqproxy.cmd" -n localhost:9876
:: 等待 Proxy 启动
timeout /t 2 /nobreak >nul
:: 7. 启动 Dashboard可选
if exist "%ROCKETMQ_HOME%\bin\rocketmq-dashboard.jar" (
start "RocketMQ Dashboard" cmd /k "%JAVA_HOME%\bin\java -jar -Dserver.port=8088 %ROCKETMQ_HOME%\bin\rocketmq-dashboard.jar"
)
echo RocketMQ 5.x 服务已启动:
echo - NameServer (端口: 9876)
echo - Broker (端口: 10911)
echo - Proxy (端口: 8081)
echo - Dashboard (端口: 8080)
:: if "%INITIAL%"="" (
:: timeout /t 2 /nobreak >nul
:: echo RocketMQ 数据初始化...
:: start "Rocket Create Topic" "initial-topic.bat"
:: start "Rocket Create Consumer" "initial-consumer.bat"
:: )
pause
endlocal
exit /b 1

View File

@ -1,7 +1,7 @@
;iss
#define MyAppName "基础环境"
#define MyAppVersion "1.0.1"
#define MyAppVersion "1.0.2"
#define MyAppPublisher "X"
#define MyAppURL "~"
#define MyAppExeName "command"
@ -20,7 +20,7 @@
; 不得复用每个应用必须有唯一AppId
AppId={{517C2278-C7C9-43D0-8E94-BFD2039C1690}
; 默认安装路径
DefaultDirName={autopf}\{#MyAppFirstPath}
DefaultDirName={localappdata}\{#MyAppFirstPath}
; 是否加密
;Encryption=yes
; 安装密码
@ -148,12 +148,9 @@ Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKey}\DefaultIcon"; ValueType: s
Root: HKA; Subkey: "Software\Classes\{#MyAppAssocKey}\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#MyAppExeName}.exe"" ""%1"""; Flags: uninsdeletevalue;
;; 【grep、awk、sed、head、sort、ls、rm、xargs、rar、zip、tar、md5sum、sha1sum...】
;; 安装路径
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: string; Components: MainApp; Flags: uninsdeletevalue; \
ValueName: "X_COMMAND"; ValueData: "{app}";
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: expandsz; Components: MainApp; Flags: preservestringtype; AfterInstall: RefreshEnvironment; \
ValueName: "Path"; ValueData: "{olddata};%X_COMMAND%\usr"; Check: NeedsAddPath('%X_COMMAND%\usr');
@ -165,6 +162,11 @@ Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environmen
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: expandsz; Components: JDK; Flags: preservestringtype; AfterInstall: RefreshEnvironment; \
ValueName: "Path"; ValueData: "{olddata};%JAVA_HOME%\bin"; Check: NeedsAddPath('%JAVA_HOME%\bin');
;; 【grep、awk、sed、head、sort、ls、rm、xargs、rar、zip、tar、md5sum、sha1sum...】
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: expandsz; Components: MainApp; Flags: preservestringtype; AfterInstall: RefreshEnvironment; \
ValueName: "Path"; ValueData: "{olddata};%X_COMMAND%\usr"; Check: NeedsAddPath('%X_COMMAND%\usr');
;; 【Redis】追加到 PATH 变量
@ -185,16 +187,6 @@ Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environmen
;; 【RocketMQ】追加到 PATH 变量
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: string; Components: RocketMQ; Flags: uninsdeletevalue; \
ValueName: "ROCKETMQ_HOME"; ValueData: "{app}\rocketmq"; Check: CheckRegistryPath('{app}\rocketmq');
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: string; Components: RocketMQ; Flags: uninsdeletevalue; \
ValueName: "ROCKETMQ_SBIN"; ValueData: "{app}\rocketmq\sbin";
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: expandsz; Components: RocketMQ; Flags: preservestringtype; AfterInstall: RefreshEnvironment; \
ValueName: "Path"; ValueData: "{olddata};%ROCKETMQ_SBIN%"; Check: NeedsAddPath('%ROCKETMQ_SBIN%');
;; 【MySQL】环境变量【注册服务使用】
; 数据库服务注册后服务名
;Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: string; Components: MySQL; Flags: uninsdeletevalue; AfterInstall: RefreshEnvironment; \
@ -213,7 +205,17 @@ Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environmen
ValueName: "Path"; ValueData: "{olddata};%X_COMMAND_MYSQL%\bin"; Check: NeedsAddPath('%X_COMMAND_MYSQL%\bin');
;; 【RocketMQ】追加到 PATH 变量
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: string; Components: RocketMQ; Flags: uninsdeletevalue; \
ValueName: "ROCKETMQ_HOME"; ValueData: "{app}\rocketmq"; Check: CheckRegistryPath('{app}\rocketmq');
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: string; Components: RocketMQ; Flags: uninsdeletevalue; \
ValueName: "ROCKETMQ_SBIN"; ValueData: "{app}\rocketmq\sbin";
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: expandsz; Components: RocketMQ; Flags: preservestringtype; AfterInstall: RefreshEnvironment; \
ValueName: "Path"; ValueData: "{olddata};%ROCKETMQ_SBIN%"; Check: NeedsAddPath('%ROCKETMQ_SBIN%');
;; 自定义函数
[Code]

View File

@ -20,7 +20,7 @@
; 不得复用每个应用必须有唯一AppId
AppId={{517C2278-C7C9-43D0-8E94-BFD2039C7BB8}
; 默认安装路径
DefaultDirName={autopf}\{#MyAppFirstPath}
DefaultDirName={localappdata}\{#MyAppFirstPath}
; 是否加密
;Encryption=yes
; 安装密码
@ -121,9 +121,9 @@ Source: "{#MyAppResources}\usr\*"; DestDir: "{app}\usr\"; Flags: ignoreversion r
;; 【grep、awk、sed、head、sort、ls、rm、xargs、rar、zip、tar、md5sum、sha1sum...】
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: string; Components: MainApp; Flags: uninsdeletevalue; \
ValueName: "X_COMMAND"; ValueData: "{app}";
ValueName: "X_COMMAND_USR"; ValueData: "{app}";
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: expandsz; Components: MainApp; Flags: preservestringtype; AfterInstall: RefreshEnvironment; \
ValueName: "Path"; ValueData: "{olddata};%X_COMMAND%\usr"; Check: NeedsAddPath('%X_COMMAND%\usr');
ValueName: "Path"; ValueData: "{olddata};%X_COMMAND_USR%\usr"; Check: NeedsAddPath('%X_COMMAND_USR%\usr');

View File

@ -136,6 +136,7 @@ Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environmen
; 扩展启动vm变量
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: string; Flags: uninsdeletevalue; \
ValueName: "{#MyAppExeNameUpper}_VM_PARAMS"; ValueData: " \
-Dspring.profiles.active=dev,mysql \
--enable-preview \
-Dserver.port=28680 \
-Dproject.database-ip=127.0.0.1 \