如何在生产环境中运行spring boot可执行jar?
Spring Boot的首选部署方法是通过其中包含tomcat的可执行jar文件。
它从简单开始java -jar myapp.jar
。
现在,我想将该jar部署到EC2上的linux服务器上,是否丢失了某些东西,还是真的需要创建一个初始化脚本来正确地将应用程序作为守护程序启动?
如果我只是简单地调用,java -jar
则应用程序在注销时死亡。
我可以在屏幕或nohup中启动它,但这不是很优雅,并且在服务器中重新启动会迫使我登录并手动启动该过程。
那么,在Spring Boot中已经有一些任务要做吗?
回答:
请注意,从Spring Boot 1.3.0.M1开始,你就可以使用Maven和Gradle构建完全可执行的jar。
对于Maven,只需在你的文件中包括以下内容pom.xml
:
<plugin> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
对于Gradle,请将以下代码段添加到你的build.gradle:
springBoot { executable = true
}
完全可执行的jar包含一个额外的脚本,位于文件的开头,它使你可以将Spring Boot jar符号链接到init.d
或使用systemd
脚本。
init.d
example:
$ln -s /var/yourapp/yourapp.jar /etc/init.d/yourapp
这使你可以像以下方式启动,停止和重新启动应用程序:
$/etc/init.d/yourapp start|stop|restart
或使用systemd
脚本:
[Unit]Description=yourapp
After=syslog.target
[Service]
ExecStart=/var/yourapp/yourapp.jar
User=yourapp
WorkingDirectory=/var/yourapp
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
以上是 如何在生产环境中运行spring boot可执行jar? 的全部内容, 来源链接: utcz.com/qa/421695.html