[英]Spring boot application in windows server
我計划在 Windows 服務器中部署一個基於 spring boot 的 Web 應用程序。
我想使用 tomcat 容器。
可以直接部署spring boot fat jar還是建議部署war文件。
請建議如何部署和首選方法?
正如 Josh Long 喜歡說的“讓罐子不要戰爭!” 它確實允許應用程序在可以運行的位置上具有靈活性,並允許將所有內容打包為一個工件。 Windows 運行作為 Spring Boot 一部分的嵌入式 Tomcat 沒有問題,這正是它在您的 IDE 中運行時所做的。 一個邊緣情況是保持進程在服務器上運行。 通常在 Windows 中,您可以通過設置服務並讓該服務運行java -jar myapp.jar
。 我還沒有親眼見過它這樣做,所以可能需要一些玩耍,但這是可能的。
java -jar yourjarname
。從最新的 Windows 版本開始,您還可以在 Docker Windows 容器中部署您的 Spring Boot 應用程序。 我寫了一個完整的指南: https : //blog.codecentric.de/en/2017/04/ansible-docker-windows-containers-spring-boot/ (前面已經提到,Tomcat 已經嵌入到 Spring Boot 中)。
在 Windows Server 中運行 Spring 應用程序的一種簡單方法是將其作為服務運行。 您可以使用winsw來完成,您可以在此處下載其 .bin 文件winws 下載
然后,將其重命名為my-app.exe 之類的內容並創建一個如下所示的 XML 文件:
<service>
<id>my-app-service</id>
<name>my-app-service</name>
<description>Back end service for app</description>
<env name="HOME" value="YOUR_JAR_FILE_PATH"/>
<executable>java</executable>
<arguments>-Xrs -Xmx256m -jar "YOUR_JAR_FILE_PATH\YOUR_JAR_FILE.jar"</arguments>
<logmode>rotate</logmode>
</service>
然后,使用終端運行:
my-app.exe install service
您的應用程序現在是一個 Windows 服務,您可以在服務選項卡上的任務管理器中啟動\\停止它。
Apache tomcat 是一個 web 容器,你不能在 tomcat 服務器中部署 jar。 如果您創建了一個 web 應用程序,然后將您的應用程序導出為 war 文件並將其放在 tomcat webapp 目錄中,啟動服務器,您的 war 將被部署。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.