windows服务包装程序
有些程序想随windows启动而自动运行,这样部署为windows服务是最自然的选择,但是有些第三方的程序,没有提供windows 服务的部署方式,或者自己写的程序,每次都要为部署为windows服务而写一些重复代码。
于是写了一个程序,可以支持将普通的可执行的文件进行一层包装,部署为windows服务,只需要修改些配置就可以重复使用。
github地址 https://github.com/xl711436/Xiaolei.ServicePacker
编译后bin目录下主要包含如下几个文件
其中 InstallService.bat 用于启动服务
UninstallService.bat 用于卸载服务
Xiaolei.ServicePacker.exe 为 服务对应的exe文件,不需要修改
Xiaolei.ServicePacker.exe.config 为对应的配置文件
目前本服务打包程序支持3种模式
1.批处理模式,通过bat 或者其他可执行脚本来开始和结束服务
2.开始,结束参数模式,通过向指定的程序传特定的参数来开始和结束服务
3.结束进程模式, 开始服务时,启动指定的程序,结束服务时,通过配置的进程名称终止指定的进程
示例1: 通过 配置 批处理模式 ,将 tomcat 部署为window服务
1.将编译后的bin 目录下的所有文件 copy到tomcat 的bin目录下
2.其中 InstallService.bat ,UninstallService.bat,Xiaolei.ServicePacker.exe.config 三个文件中配置服务名称的三个地方,名称必须一样 ,这个名称就是 最终部署的服务的名称
3.在批处理模式,只需要配置Xiaolei.ServicePacker.exe.config 文件中的 StartBatFileName ,StopBatFileName 两个配置项,分别配置 开始服务和结束服务时执行的批处理文件或者脚本文件 ,在当前示例中 ,配置为tomcat中自带的 bat文件即可以
4.执行 InstallService.bat 文件 安装服务,此时服务会根据配置自动安装并启动,访问 localhost:8080 可验证tomcat已经启动
5.当需要卸载时,执行 UninstallService.bat 即可
示例2: 通过启动参数模式,将 nginx 部署为windows服务
1. 将编译后的bin 目录下的所有文件 copy到nginx目录。
2.其中 InstallService.bat ,UninstallService.bat,Xiaolei.ServicePacker.exe.config 三个文件中配置服务名称的三个地方,名称必须一样 ,这个名称就是 最终部署的服务的名称
3.在启动参数模式,只需要配置Xiaolei.ServicePacker.exe.config 文件中 ExecuteFileName ,StartPara ,StopPara 三个配置项,分别配置 为服务对应的可执行程序,启动时的参数和结束时的参数,对于ngnix而言,启动时不需要参数,结束时传-s stop 即可。
4.执行 InstallService.bat 文件 安装服务。
5.当需要卸载时,执行 UninstallService.bat 即可
示例3: 结束进程模式模式, 将redis 部署成 windows 服务
1. 下载redis 的 windows 安装包,进行解压
2.其中 InstallService.bat ,UninstallService.bat,Xiaolei.ServicePacker.exe.config 三个文件中配置服务名称的三个地方,名称必须一样 ,这个名称就是 最终部署的服务的名称
3.在 结束进程模式模,只需要配置Xiaolei.ServicePacker.exe.config 文件中 ExecuteFileName ,StartPara ,KillProcessName 三个配置项。分别配置 为服务对应的可执行程序,启动时的参数和结束时杀掉的进程名称。对于此示例,分别配置为 redis-server.exe 和redis-server即可。
4.执行 InstallService.bat 文件 安装服务。
5.当需要卸载时,执行 UninstallService.bat 即可
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步