windows下常用中间件二进制方式绿色部署,使用windows 服务的方式启动这里记录如下:
1.1,下载地址:https://dev.mysql.com/downloads/mysql/ 版本选择8.4.7 LTS(当前最新)平台microsof windows
下载版本选中间那个:Windows (x86, 64-bit), ZIP Archive 这个是免安装的
1.2,解压到D:\midware\mysql-8.4.7-winx64
1.3,在mysql-8.4.7-winx64目录下新建一个文件 my.ini ,粘贴如下内容【不包括分割线】:
----------------------------------------------------------------------------------------------------------------------------------------
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8mb4
[mysqld]
# 设置端口,不设置默认3306
port = 3306
# 设置mysql的安装目录
#basedir=D:\\DBServer\\mysql\\mysql-8.4.0-winx64
basedir=D:\\midware\\mysql-8.4.7-winx64
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=D:\\DBServer\\mysql\\mysql-8.4.0-winx64 #8.0以下版本需要配置数据目录
# 允许最大连接数
max_connections=100
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8mb4
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# MySQL8.0默认的身份验证插件为caching_sha2_password,这将导致远程户端无法连接,可使用“mysql_native_password”插件认证解决客户端无法连接的问题,mysql_native_password再MySQL8.0中已过时,但任然可使用
# 从MySQL8.4开始,配置为 mysql_native_password=ON
mysql_native_password=ON
# default_authentication_plugin=mysql_native_password 此配置是在8.4以下的版本中的配置方法,8.4无此项
2.2, 根目录下的【D:\midware\Redis-7.4.7-Windows-x64】 新建一个redis.conf 内容如下【不包括分割线】:
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
# ========== Windows 极简版 ==========
# 仅保留启动必备项,其余全部用默认值
# 网络
bind 127.0.0.1
port 6379
protected-mode yes
requirepass Mth.&@!2025ABc
# 日志 & 进程
loglevel notice
logfile "redis.log"
# 持久化(RDB)
save 3600 1 300 100 60 10000
dbfilename dump.rdb
dir ./db
# AOF(如需启用,把下面两行打开)
appendonly no
# appendfilename "appendonly.aof"
# 内存 & 客户端
maxmemory 0
maxclients 10000
# 高级杂项
hz 10
dynamic-hz yes
rdb-save-incremental-fsync yes
set-proc-title yes
oom-score-adj no
oom-score-adj-values 0 200 800
disable-thp yes
appendonly no
appendfilename "appendonly.aof"
appenddirname "appendonlydir"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
aof-timestamp-enabled no
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events "Ex"
hash-max-listpack-entries 512
hash-max-listpack-value 64
list-max-listpack-size -2
list-compress-depth 0
set-max-intset-entries 512
set-max-listpack-entries 128
set-max-listpack-value 64
zset-max-listpack-entries 128
zset-max-listpack-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
aof-rewrite-incremental-fsync yes
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2.3, 把redis添加到windows服务
sc.exe create Redis7 binPath="D:\midware\Redis-7.4.7-Windows-x64\redis-server.exe" start= auto DisplayName="Redis 7.4.7"
nssm.exe install Nginx D:\midware\nginx-1.28.1\nginx.exe -c D:\midware\nginx-1.28.1\conf\nginx.conf start= auto DisplayName="nginx-1.26"
net stop Nginx
sc delete Nginx
5.4,设置环境变量 ROCKETMQ_HOME 指向 D:\midware\rocketmq-all-4.9.8-bin-release 要不然启动时候提示找不到 ROCKETMQ_HOME 变量
5.5 编辑conf\broke.conf 文件,内容如下
----------------------------------------------------------------------------------------------------------------------------------------------
#=== 身份 ===
brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=0
#=== 网络 ===
namesrvAddr=127.0.0.1:9876
brokerIP1=127.0.0.1
listenPort=10911
#=== 存储路径 ===
storePathRootDir=D:/midware/rocketmq-all-4.9.8-bin-release/data/rocketmq/store
storePathCommitLog=D:/midware/rocketmq-all-4.9.8-bin-release/data/rocketmq/store/commitlog
#=== 文件保留 ===
fileReservedTime=48
deleteWhen=04
#=== 刷盘 & 复制 ===
flushDiskType=ASYNC_FLUSH
brokerRole=ASYNC_MASTER
-----------------------------------------------------------------------------------------------------------------------------------------------
5.6, 使用nssm.exe 启动服务,把nssm.exe放到D:\midware\rocketmq-all-4.9.8-bin-release目录下
5.6.1 rocketmq 直接通过 nssm.exe install MQNameServer d:\midware\rocketmq-all-4.9.8-bin-release\bin\namesrv.cmd 是启动不了的,因为cmd命令行下正常执行,不代表windows service manager中可以正常解析 java环境变量和ROCKETMQ_HOME 环境变量,必须重新写一个单独脚本,然后单独脚本中指定JAVA_HOME和ROCKETMQ_HOME 变量,比如重新编写一个 start-nameserv.cmd 放到bin下 内容如下:
---------------------------------------------------------------------------------------------------------
:: start-namesrv.cmd
@echo off
set JAVA_HOME=D:\tools\jvm_home
set ROCKETMQ_HOME=d:\midware\rocketmq-all-4.9.8-bin-release
cd /d %ROCKETMQ_HOME%\bin
call mqnamesrv.cmd
----------------------------------------------------------------------------------------------------------------------------------------------
@echo off
setlocal
:: 固定环境变量(服务环境下必须)
set JAVA_HOME=D:\tools\jvm_home
set ROCKETMQ_HOME=D:\midware\rocketmq-all-4.9.8-bin-release
:: 防止路径错乱
cd /d %ROCKETMQ_HOME%\bin
:: 启动 Broker(使用绝对路径的配置文件)
call mqbroker.cmd -c %ROCKETMQ_HOME%\conf\broker.conf
endlocal
-----------------------------------------------------------------------------------------------------------------------------------------------
然后使用 nssm.exe install MQBrokerServer d:\midware\rocketmq-all-4.9.8-bin-release\bin\start-broker.cmd 启动即可
最后使用
net start MQNameServer
net start MQBrokerServer
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!