admin 管理员组

文章数量: 887019

        前面说到windows运行jar包和开机自动启动,是用批处理文件拷贝至C盘启动目录下,这种方式有个缺点就是需要登录桌面才会启动,这里再介绍一种把nginx、jar程序做成windows服务的方式,这样服务器重启完就会自动启动,不需要登录。同样的,nacos等程序都可以用这种方式实现。

windows运行jar包和开机自动启动_卡卡飞的博客-CSDN博客_windows 自启动jar

一.下载WinSW.NET4.exe

        下载地址:Releases · winsw/winsw · GitHubA wrapper executable that can run any executable as a Windows service, in a permissive license. - Releases · winsw/winswhttps://github/winsw/winsw/releases
        WinSW.NET4.exe 适合X64,WinSW.NET2.exe 适合X86,根据环境下载。

二、Nginx做成windows服务

        1.主要文件就这几个

NginxService.exe:windows启动文件

NginxService.xml:windows启动文件配置

install.bat:安装服务

uninstall.bat:卸载服务

                        

        2. 将WinSW.NET4.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 off

NginxService.exe install

exit

        5.新建uninstall.bat批处理文件,用来在出错时卸载服务。

uninstall.bat:

@echo off

NginxService.exe uninstall

exit

        6.双击运行install.bat文件,打开Windows系统的服务功能,刷新查看是否有“NginxService”服务。

         7.启动/停止程序

        启动:打开Windows系统“服务”管理工具,找到“NginxService”服务,右键点击“启动”按钮,稍等片刻后查看是否启动成功。

        停止:右键服务点击“停止”按钮停止程序。

三、jar做成windows服务

        步骤跟Nginx做成windows服务一样,将WinSW.NET4.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重启时自动启动程序。

本文标签: 自动启动 方式 jar Windows winSW