前面说到windows运行jar包和开机自动启动,是用批处理文件拷贝至C盘启动目录下,这种方式有个缺点就是需要登录桌面才会启动,这里再介绍一种把nginx、jar程序做成windows服务的方式,这样服务器重启完就会自动启动,不需要登录。同样的,nacos等程序都可以用这种方式实现。
windows运行jar包和开机自动启动_卡卡飞的博客-CSDN博客_windows 自启动jar
一.下载4.exe
下载地址:Releases · winsw/winsw · GitHubA wrapper executable that can run any executable as a Windows service, in a permissive license. - Releases · winsw/winsw/winsw/winsw/releases
4.exe 适合X64,2.exe 适合X86,根据环境下载。
二、Nginx做成windows服务
1.主要文件就这几个
NginxService.exe:windows启动文件NginxService.xml:windows启动文件配置install.bat:安装服务uninstall.bat:卸载服务
2. 将4.exe拷贝至nginx.exe同目录下,重命名为NginxService.exe。
3.在同目录下新建一个NginxService.xml文件,注意要跟NginxService.exe文件同名。
NginxService.xml:
<service><id>NginxService</id><name>NginxService</name><description>Nginx启动服务</description><!-- 启动 --><executable>nginx.exe</executable><!-- 停止 --><stopexecutable>nginx.exe -s stop</stopexecutable><!-- 开机启动 --><startmode>Automatic</startmode><!-- 日志配置 --><logpath>%BASE%\logs\serviceLog</logpath><!-- append:追加模式;reset:重设模式,每次服务启动时,旧的日志文件都会被截断;none:不生成任何日志文件 --><logmode>none</logmode></service>
logmode设置为none是因为程序自己有打印日志,这里再打印的话就重复了。
4.新建install.bat批处理文件,用来安装windows服务(这一步也可以不新建文件,直接用cmd命令行工具执行)。
install.bat:
@echo offNginxService.exe installexit
5.新建uninstall.bat批处理文件,用来在出错时卸载服务。
uninstall.bat:
@echo offNginxService.exe uninstallexit
6.双击运行install.bat文件,打开Windows系统的服务功能,刷新查看是否有“NginxService”服务。
7.启动/停止程序
启动:打开Windows系统“服务”管理工具,找到“NginxService”服务,右键点击“启动”按钮,稍等片刻后查看是否启动成功。
停止:右键服务点击“停止”按钮停止程序。
三、jar做成windows服务
步骤跟Nginx做成windows服务一样,将4.exe拷贝至Spring boot项目test.jar所在目录,重命名为TestService.exe,新建TestService.xml,只是TestService.xml内容稍有改动:
TestService.xml:
<service><id>TestService</id><name>TestService</name><description>测试信息系统启动服务</description><!-- java环境变量,没有环境变量时不需要配置 --><!-- <env name="JAVA_HOME" value="%JAVA_HOME%"/> --><executable>java</executable><!-- <arguments>-jar "E:\springboot\test.jar"</arguments> --><arguments>-jar -Xms256m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m test.jar --spring.profiles.active=host</arguments><!-- 开机启动 --><startmode>Automatic</startmode><!-- 日志配置 --><logpath>%BASE%\logs\serviceLog</logpath><!-- append:追加模式;reset:重设模式,每次服务启动时,旧的日志文件都会被截断;none:不生成任何日志文件 --><logmode>none</logmode></service>
其它程序可以举一反三,都可以用这种方式实现Windows重启时自动启动程序。
如果觉得《Windows服务开机自动启动jar nginx(WinSW方式)》对你有帮助,请点赞、收藏,并留下你的观点哦!