使用JAVA_OPTS变量的Centos守护程序配置

时间:2019-01-08 10:58:50

标签: java spring-boot centos7 tomcat8 daemon

我有一个在Centos 7上配置为守护程序的应用程序。此应用程序使用Java Melody,并且我需要使用javamelody.storage-directory属性更改默认输出文件夹。该应用程序是一个Springboot应用程序(配置为与Tomcat一起运行)。

以下内容非常有用:

我的服务定义:

[Unit]
Description=My service

[Service]
Environment=PATH=/opt/jdk/jre/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
ExecStart=/bin/bash /opt/myapp/bin/start.sh
User=myUser
WorkingDirectory=/var/app
Restart=on-failure
RestartSec=90
StartLimitInterval=400
StartLimitBurst=3

[Install]
WantedBy=multi-user.target

我的/opt/myapp/bin/start.sh文件:

#!/bin/sh
exec java -Djavamelody.storage-directory=/mypath -cp "..." MyApp --spring.config.name=appconfig --spring.config.location=location

但是当我尝试使用JAVA_OPTS变量配置javamelody.storage-directory参数时,它不再起作用:

[Unit]
Description=My service

[Service]
Environment=JAVA_OPTS=-Djavamelody.storage-directory=/mypath
Environment=PATH=/opt/jdk/jre/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
ExecStart=/bin/bash /opt/myapp/bin/start.sh
User=myUser
WorkingDirectory=/var/app
Restart=on-failure
RestartSec=90
StartLimitInterval=400
StartLimitBurst=3

[Install]
WantedBy=multi-user.target

和没有-D选项的脚本...

#!/bin/sh
exec java -cp "..." MyApp --spring.config.name=appconfig --spring.config.location=location

在将JAVA_OPTS定义为守护程序配置时,我是否缺少某些内容?

编辑:我也尝试过使用en EnvironmentFile,但没有帮助。

0 个答案:

没有答案