windows下全部二进制(免安装)使用服务的形式启动ngixn,redis,mysql,mongodb,rocketmq等服务

windows下常用中间件二进制方式绿色部署,使用windows 服务的方式启动这里记录如下:

一,windows下mysql-8.4的绿色安装


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无此项

--------------------------------------------------------------------------------------------------------------------------------------------------------------------
1.4,windows 下mysql 默认读取配置文件的的路径可以使用 mysqld --verbose  --help 查看,windows下my.ini 配置文件读取路径为:
Default options are read from the following files in the given order:
C:\WINDOWS\my.ini C:\WINDOWS\my.cnf C:\my.ini C:\my.cnf d:\midware\mysql-8.4.7-winx64\my.ini d:\midware\mysql-8.4.7-winx64\my.cnf D:\midware\mysql-8.4.7-winx64\my.ini D:\midware\mysql-8.4.7-winx64\my.cnf 

1.5,mysql 初始化数据(mysql-8.4.7-winx64目录下的 my.ini在上一步中在初始化的时候会被读取)
mysqld --initialize--console
 
1.6,安装成服务方式启动
mysqld --install [服务名] 比如: mysqld --install  mysql80 不加服务名的时候默认名字为mysql

1.7 启动/停止/删除服务
net start mysql
net stop mysql
sc delete mysql


二, Windows 下的Redis-7.4.7-Windows-x64的绿色安装


2.1, Redis-7.4.7下载地址 

https://github.com/redis-windows/redis-windows/releases     #选择7.4.7 ,其他更高版本也是一样的

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"

2.4, 启动/停止/删除redis
net start Redis7
停止服务
net stop Redis7
卸载服务
sc.exe delete Redis7
 

三:Windows 下的nginx的绿色安装


3.1 下载地址
https://nginx.org/en/download.html

3.2 nginx.conf 配置【windows下默认从conf/nginx.conf 读取配置文件]


--------------------------------------------------------------------------------------------------------

http {
    include       mime.types;
    default_type  application/octet-stream;
    server_names_hash_bucket_size  128;
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    #gzip  on;
gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/json image/jpeg image/gif image/png font/ttf font/otf image/svg+xml application/xml+rss text/x-js;
        gzip_vary on;
        gzip_proxied   expired no-cache no-store private auth;
        gzip_disable   "MSIE [1-6]\.";
         limit_conn_zone $binary_remote_addr zone=perip:10m;
        limit_conn_zone $server_name zone=perserver:10m;
        server_tokens off;
        access_log off;
log_format  access  '"$http_x_forwarded_for" $remote_addr $host $remote_user [$time_local] "$request" '
 '$status $body_bytes_sent  $request_body "$http_referer" '
 '"$http_user_agent" "$upstream_response_time" "$request_time" '
 'upstream: $upstream_addr upstream_status: $upstream_status';
include  "D:/midware/nginx-1.28.1/vhosts/*.conf";
}
--------------------------------------------------------------------------------------------------------------------------------------------------------------------

3.3 使用windows服务形式启动

下载 http://nssm.cc/release/nssm-2.24.zip 解压到 D:\midware\nginx-1.28.1 目录下

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"


3.4 启动/停止/删除 服务

net start Nginx

net stop Nginx

sc delete Nginx


四,windows下mongodb的绿色安装


4.1,mongodb下载地址

4.1.1 https://www.mongodb.com/try/download/community

windows平台选择zip格式,不要选择msi

4.1.2 命令端下载  https://www.mongodb.com/try/download/shell

4.1.3 工具集下载  https://www.mongodb.com/try/download/database-tools


4.2,mongodb配置文件

-----------------------------------------------------------------------------------------------------------------------

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/
# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: D:/midware/mongodb-win32-x86_64-windows-8.2.3/logs/mongod.log
# Where and how to store data.
storage:
  dbPath: D:/midware/mongodb-win32-x86_64-windows-8.2.3/data
  directoryPerDB: true
#  engine:
#  wiredTiger:
# how the process runs
#processManagement:
  #timeZoneInfo: /usr/share/zoneinfo
# network interfaces
net:
  port: 27017
  bindIp: 127.0.0.1  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.

security:
  authorization: enabled
------------------------------------------------------------------------------------------------------------------------------------------------------------------------

4.3,使用windows服务形式添加启动mongodb

nssm.exe install MongoDb d:\midware\mongodb-win32-x86_64-windows-8.2.3\bin\mongod.exe --config d:\midware\mongodb-win32-x86_64-windows-8.2.3\conf\mongod.conf

4.4,启动/停止/删除mongodb服务

net start MongoDb 

net stop MongoDb 

sc delete MongoDb 

4.5,添加一个admin 超级管理员用户用户管理所有数据库

use admin;
db.createUser({
  user: "admin",
  pwd:  "fsdfadsf23",          // 明文即可,会被 SCRAM-SHA-256 哈希
  roles: [ { role: "root", db: "admin" } ]
});

五,windows下RocketMQ的服务安装


5.1 ,rocketmq下载地址

https://rocketmq.apache.org/download/  这里选择4.X最新版本4.9.8
5.2 , 修改conf下的logback_*.xml 几个文件日志地址配置
配置下载
5.3,修改启动脚本使用内存大小
nameserver对应文件 bin\runserver.cmd
broke 对应文件 bin\runbroker.cmd           #我这里修改的都是512m大小

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

-------------------------------------------------------------------------------------------------------------------
然后使用 nssm.exe install MQNameServer d:\midware\rocketmq-all-4.9.8-bin-release\bin\start-namesrv.cmd  安装服务,可以正常启动

5.6.2 对于 broker 来说,同样在bin目录下新建脚本文件 start-broker.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


-----------------------------------------------------------------------------------------------------------------------------------------------


5.6.3 添加broker到windows服务

然后使用 nssm.exe install MQBrokerServer d:\midware\rocketmq-all-4.9.8-bin-release\bin\start-broker.cmd 启动即可

最后使用

net start MQNameServer 

net stop MQNameServer 

sc delete MQNameServer 

启动/停止/删除服务端

net start MQBrokerServer  

net stop MQBrokerServer  

sc delete MQBrokerServer 
启动/停止/删除broker端
  • 发表于 2026-01-15 12:53
  • 阅读 ( 44 )

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
shitian
shitian

662 篇文章

作家榜 »

  1. shitian 662 文章
  2. 石天 437 文章
  3. 每天惠23 33 文章
  4. 小A 29 文章