目前,我的应用程序能够使用两种策略解析应用程序属性:
application.properites文件。application.properites文件存在于tomcat级别的config文件夹中,则该策略可以使用它。例如:如果tomcat是以如下方式启动的,则为/opt/tomcat/bin/startup.sh。代码将按照路径/opt/tomcat/bin/config/application.properites查找外部属性
如果应用程序是按照sh /opt/tomcat/bin/startup.sh的方式启动的,那么这种方法可以很好地工作,但是它不适用于systemd单元tomcat文件service tomcat start。
有/etc/systemd/system/tomcat.service单元文件的内容
# Systemd unit file for tomcat
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target
[Service]
Type=forking
Environment=JAVA_HOME=/opt/java
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/bin/kill -15 $MAINPID
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target我尝试将我的配置文件夹复制到/etc/systemd/system/,但它仍然不起作用。
任何使用systemd脚本对config文件夹正确的路径的想法。
发布于 2017-10-01 10:21:59
我已经用单元文件中的以下行修复了它:
WorkingDirectory=/opt/tomcat/binhttps://stackoverflow.com/questions/46511290
复制相似问题