我正在尝试将Spring Boot应用程序部署为客户端服务器上的Windows服务。我的POM文件使用Undertow服务器而不是tomcat。我可以使用Winsw来完成此工作,并且在localhost上的服务器上工作正常。实际的挑战是将其托管在IIS上,我尝试使用https绑定端口443,但无法使API正常工作。任何线索都将受到高度赞赏。
maxwel112 回答:如何使用Undertow服务器在IIS上托管Spring Boot可执行jar文件?
一种选择是使用AJP,即将.addHttpListener(8080,"localhost")
更改为.addAjpListener(8009,"localhost")
然后安装ISAPI redirector for Microsoft IIS,这是一个允许IIS将请求转发到后端Web服务器的代理使用AJP协议。
尽管以上指向ISAPI重定向器的链接是指向Tomcat站点的,但是重定向器并不真正关心AJP连接另一端的服务器,因此不必是Tomcat。
,您可以使用spring-boot-maven-plugin。通过Spring Initializr将Spring项目创建为Maven项目后,该插件会自动添加到pom.xml中。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
将应用程序打包在一个jar文件中,在项目目录下运行maven命令mvn package
。这会将应用程序及其所有依赖项打包到可执行的jar文件中(包括嵌入式servlet容器-如果是Web应用程序,则包括在内)。要运行jar文件,请使用以下标准JVM命令java -jar <jar-file-name>.jar
。
How can I deploy a spring-boot application on Windows Server 2012 R2?