您现在的位置是:首页 > 正文

【java】采用winsw方式windows服务器部署java springboot项目

2023-10-19 13:16:54阅读 2758

**

采用winsw方式windows服务器部署java springboot项目

**

winsw的开源地址:https://github.com/winsw/winsw

细节说明
1.将该文件夹内1.net-install.bat、2.net-start.bat、net-stop.bat、net-uninstall.bat、api-server.exe、api-server.xml放置与项目jar同级文件夹内或内部新建自定义文件夹内,后续可以在xml里指定路径;

2.修改api-server.exe、api-server.xml两个的文件名称,尽量保持与jar包名称一致;

3.编辑器打开api-server.xml文件,修改内部节点配置,注:ID节点必须唯一
api-server.xml文件:

<service>
  <!-- ID of the service. It should be unique across the Windows system-->
  <id>APPId</id>
  <!-- Display name of the service -->
  <name>App</name>
  <!-- Service description -->
  <description>app</description>
  
  <!-- Path to the executable, which should be started  java的jdk路径可以这样写,如果配置了系统环境变量,也可以写成java-->
  <executable>D:\run\jdk\jdk1.8.0_221\bin\java.exe</executable>
  <arguments>-Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -Dfile.encoding=utf-8 -jar D:\run\app.jar --spring.config.location=D:\run\run_bin\application-prod.properties</arguments>
  <logpath>%BASE%/logs</logpath>
  <log mode="roll-by-time">
	<pattern>yyyy-MM-dd</pattern>
  </log>
</service>

arguments节点内容可以指定为例子中的写法,也可以写成其他的java运行命令,如:-jar D:\run\app.jar
修改完成后,保存xml文件;

4.打开1.net-install.bat、2.net-start.bat、net-stop.bat、net-uninstall.bat,修改内部的配置,与文件夹内的名称、xml的ID节点保持一致;
5.先运行1.net-install.bat,双击,提示以下信息代表成功

   2022-02-16 09:14:00,160 INFO  - Installing service 'apiName (APIId)'...
   2022-02-16 09:14:00,176 INFO  - Service 'apiName (APIId)' was installed successfully.

6.运行2.net-start.bat,双击,会提示代表成功

	apiName 服务正在启动 .
	apiName 服务已经启动成功。

7.如需停止服务可双击net-stop.bat,卸载服务,可以双击net-uninstall.bat。

如果需要windows查看,可在cmd上输入services.msc或者我的电脑\右击\管理\服务与应用程序\服务。找到api-server.xml文件的
ID名称服务,即可操作停止、重启等操作

上述提到的bat文件内容:
1.net-install.bat

@echo off 
title start-APP 
echo APP start
mode con cols=100 lines=20
color 3f

:: 开始获取管理员权限
setlocal
set uac=~uac_permission_tmp_%random%
md "%SystemRoot%\system32\%uac%" 2>nul
if %errorlevel%==0 ( rd "%SystemRoot%\system32\%uac%" >nul 2>nul ) else (
    echo set uac = CreateObject^("Shell.Application"^)>"%temp%\%uac%.vbs"
    echo uac.ShellExecute "%~s0","","","runas",1 >>"%temp%\%uac%.vbs"
    echo WScript.Quit >>"%temp%\%uac%.vbs"
    "%temp%\%uac%.vbs" /f
    del /f /q "%temp%\%uac%.vbs" & exit )
endlocal

D:
cd D:\run\run_bin

app-server.exe install

pause
exit

2.net-start.bat

@echo off 
title start-APP 
echo APP start
mode con cols=100 lines=20
color 3f

:: 开始获取管理员权限
setlocal
set uac=~uac_permission_tmp_%random%
md "%SystemRoot%\system32\%uac%" 2>nul
if %errorlevel%==0 ( rd "%SystemRoot%\system32\%uac%" >nul 2>nul ) else (
    echo set uac = CreateObject^("Shell.Application"^)>"%temp%\%uac%.vbs"
    echo uac.ShellExecute "%~s0","","","runas",1 >>"%temp%\%uac%.vbs"
    echo WScript.Quit >>"%temp%\%uac%.vbs"
    "%temp%\%uac%.vbs" /f
    del /f /q "%temp%\%uac%.vbs" & exit )
endlocal

net start APPId

pause
exit

3.net-stop.bat

@echo off 
title start-APP 
echo APP stop
mode con cols=100 lines=20
color 3f

:: 开始获取管理员权限
setlocal
set uac=~uac_permission_tmp_%random%
md "%SystemRoot%\system32\%uac%" 2>nul
if %errorlevel%==0 ( rd "%SystemRoot%\system32\%uac%" >nul 2>nul ) else (
    echo set uac = CreateObject^("Shell.Application"^)>"%temp%\%uac%.vbs"
    echo uac.ShellExecute "%~s0","","","runas",1 >>"%temp%\%uac%.vbs"
    echo WScript.Quit >>"%temp%\%uac%.vbs"
    "%temp%\%uac%.vbs" /f
    del /f /q "%temp%\%uac%.vbs" & exit )
endlocal

net stop APPId 

pause
exit

4.net-uninstall.bat

@echo off 
title start-APP 
echo APP uninstall
mode con cols=100 lines=20
color 3f

:: 开始获取管理员权限
setlocal
set uac=~uac_permission_tmp_%random%
md "%SystemRoot%\system32\%uac%" 2>nul
if %errorlevel%==0 ( rd "%SystemRoot%\system32\%uac%" >nul 2>nul ) else (
    echo set uac = CreateObject^("Shell.Application"^)>"%temp%\%uac%.vbs"
    echo uac.ShellExecute "%~s0","","","runas",1 >>"%temp%\%uac%.vbs"
    echo WScript.Quit >>"%temp%\%uac%.vbs"
    "%temp%\%uac%.vbs" /f
    del /f /q "%temp%\%uac%.vbs" & exit )
endlocal

D:
cd D:\run\run_bin

app-server.exe uninstall

pause
exit

网站文章