springboot 使用winsw部署成Windows服務

今天有朋友問起,windows系統的服務器怎麼部署springboot,其實網上一大堆資料,不過真是良莠不齊,把好久前的Word文檔整理了一下,發出來。

一:問題

springboot可以用maven直接打包成.jar文件。打包後的文件在windows上命令直接就可以運行,很方便。

        但是這樣做也有缺點:

            1.運行時沒有界面,需要停止程序時不太好辦(可以從任務管理器直接結束,但是多個這樣的程序同時運行時無法從進程名稱上區分)。

            2.服務器重啓之後,程序無法實現自啓動。

            3.所以需求就是做成服務。

 

二:開整

  1. 下載winsw程序,選擇對應版本。(WinSW.NET2.exe 或 WinSW.NET4.exe)
  2. github上現在不好找或者打不開的請點擊:鏈接:分享地址​​​ 提取碼:miwj
  3. 安裝.NET Framework
  4. WinSW.exe複製到自定義的目錄,並重命名爲test.exe
  5. 同目錄下創建test.xml特別注意,xml和exe必須同名
  6. 使用test.exe install安裝服務。
  7. 使用test.exe uninstall卸載服務。

github下載地址:https://github.com/winsw/winsw/releases

github倉庫地址:https://github.com/winsw/winsw

示例,配置springboot 啓動服務

 <service> 
     <id>guides-server</id> 
     <name>guides-server</name>
     <description>This is guides-server service.</description>
     <!-- java環境變量 -->
	 <env name="JAVA_HOME" value="%JAVA_HOME%"/>
     <executable>java</executable> 
     <arguments>-server -Xms512m -Xmx512m -Xmn128m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -jar "E:\guides-server\jar\guides-server.jar" </arguments>
  
     <!-- 開機啓動 -->
     <startmode>Automatic</startmode>
     <!-- 日誌配置 -->
     <logpath>%BASE%\log</logpath>
     <logmode>rotate</logmode>
 </service>

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章