windos服务器后台进程部署运行jar包
WinSW-x64 完整落地方案最稳定、生产环境标准的全套配置1 个目录 1 个 XML 4 条命令日志统一输出到指定文件、自动分割、永不占满磁盘直接照着做。一、先准备文件固定结构新建文件夹必须D:\java-service里面放 3 个文件D:\java-service\ ├── demo.jar # 你的项目jar包 ├──WinSW-x64.exe # 下载的WinSW执行文件 └── service.xml # 新建配置文件核心下载 WinSW-x64.exehttps://github.com/winsw/winsw/releases下载 WinSW-x64.exe 放到上面目录二、核心service.xml 完整配置所有日志统一输出到D:\java-service\logs\app.logservice.xml 手动创建service!--服务标识唯一不改--idJavaAppService/idnameJavaAppService/namedescriptionSpringBoot项目Windows服务/description!--Java运行配置--executablejava/executablearguments-Xms512m-Xmx1024m-jarD:\java-service\demo.jar/arguments!--工作目录--workingdirectoryD:\java-service/workingdirectory!----!--日志配置指定文件自动分割--!----logpathD:\java-service\logs/logpathlog moderoll-by-sizesizeThreshold10240/sizeThreshold!--单个日志10MB--keepFiles10/keepFiles!--最多保留10个--/log!--开机自启失败自动重启--startmodeAutomatic/startmodeonfailure actionrestartdelay10 sec/!--运行账号默认即可--serviceaccountusernameLocalSystem/username/serviceaccount/service三、你只需要改 2 个地方里的 demo.jar 路径改成你自己的内存大小-Xms512m -Xmx1024m按需调整四、4 条命令完成安装管理员 CMD先打开管理员身份运行 CMD进入目录cd D:\java-service安装服务WinSW-x64.exe install启动服务WinSW-x64.exe start查看服务状态WinSW-x64.exe status停止 / 卸载需要时用停止 WinSW-x64.exe stop卸载必须先停止 WinSW-x64.exe uninstall五、日志所有日志自动在这里D:\java-service\logs\日志文件 JavaAppService.out.log → 正常启动 / 运行日志 JavaAppService.err.log → 异常/ 错误日志 自动按 10MB 分割保留最新 10 个不会爆磁盘六、验证是否成功打开 Windows 服务services.msc找到JavaAppService状态正在运行 成功日志正常生成 配置生效七、总结这是Windows 服务器运行 Java 项目最标准方案开机自启崩溃自动重启日志指定目录 自动分割稳定不闪退全程复制粘贴无任何坑八、补充WinSW-x64.exe 同时运行多个jar包1、核心规则必须遵守一个 WinSW-x64.exe 同名 xml 只能对应 一个 jar 一个 Windows 服务。 多jar 就要多份独立的 WinSW 文件服务 id / 名称必须唯一不能重名。 端口必须不一样比如你现在用 17912下一个用17913。2.快速示例假设你已有E:\servers\myapp\ ├─WinSW-x64.exe ├─WinSW-x64.xml # 服务JavaAppService端口17912└─ hbjk-ess.jar新建目录放第二个服务E:\servers\myapp2\ ├─MyApp2.exe # 复制一份WinSW-x64.exe 改名 ├─MyApp2.xml # 自己建和exe同名 └─ another.jar # 第二个jar新建目录放第二个服务3.MyApp2.xml 配置重点改 3 处?xml version1.0encodingUTF-8?serviceidJavaAppService2/id!--唯一id不能和之前一样--nameJavaAppService2/name!--服务显示名--description第二个Java服务/descriptionexecutablejava/executablearguments-jarE:\servers\myapp2\another.jar/arguments!--第二个jar路径--logpathE:\servers\myapp2\logs/logpathlogmoderotate/logmodeonfailure actionrestart//service4.安装并启动第二个服务cd E:\servers\myapp2安装服务 MyApp2.exe install启动 MyApp2.exe start查看状态 MyApp2.exe status结论能同时跑多个 jar每个 jar 一个独立 WinSW 服务即可稳定不冲突。