Spring Boot部署配置文件

时间:2018-07-19 11:54:58

标签: spring-boot amazon-ec2

我创建了一个Spring Web Boot可执行jar,并配置了AWS以启动它:

$sudo chkconfig --list fake-spi-endpoint
fake-spi-endpoint       0:off   1:off   2:on    3:on    4:on    5:on    6:off

根据Spring documentation,我创建了一个具有相同名称的配置文件:

$ls -l
-rwx------ 1 ec2-user ec2-user 17024045 Jul 19 13:18 fake-spi-endpoint-1.0.0-boot.jar
-rw-r--r-- 1 ec2-user ec2-user       37 Jul 19 13:40 fake-spi-endpoint.conf
lrwxrwxrwx 1 ec2-user ec2-user       32 Jul 19 13:16 fake-spi-endpoint.jar -> fake-spi-endpoint-1.0.0-boot.jar

该配置将覆盖日志目录:

$cat fake-spi-endpoint.conf
-LOG_FOLDER=/home/ec2-user/service/logs

但是当我启动此服务时,它似乎执行配置文件内容:

$service fake-spi-endpoint start
/home/ec2-user/service/fake-spi-endpoint.conf: line 1: -LOG_FOLDER=/home/ec2-user/service/logs: No such file or directory
Started [1995]

问题出在哪里?

1 个答案:

答案 0 :(得分:1)

在我看来,您似乎将spring boot configuration fileupstart service configuration file混淆了。

您应该在.jar所在的位置(例如/home/ec2-user/app/fake-spi-endpoint)具有spring-boot配置文件fake-spi-endpoint.conf。

此外,您应该有一个服务配置文件,该文件告诉您如何在/home/ec2-user/service/fake-spi-endpoint.conf中启动应用程序。该文件应包含类似

的内容
exec java -jar /home/ec2-user/app/fake-spi-endpoint/fake-spi-endpoint.jar 

告诉新手如何启动您的应用程序。您将两者混为一谈,这就是为什么新贵尝试执行您的spring boot配置文件的原因。

您可以在此处阅读有关使用upstart(和其他服务管理器)启动spring boot应用程序的更多详细信息:

http://www.baeldung.com/spring-boot-app-as-a-service