在Ubuntu 16服务中设置环境变量

时间:2017-05-17 11:48:07

标签: ubuntu-16.04 tomcat8

我目前正在尝试将Web应用程序服务器从Tomcat 7升级到Tomcat 8但是我遇到了在Tomcat 8中设置环境变量的问题。

在Tomcat 7中,我们将configure-env-vars.sh脚本复制到/etc/profile.d /

#!/bin/sh

export ENV_VAR=$TOMCAT_HOME/conf/server-config.properties
export JAVA_OPTS="-Xms512m -Xmx2048m -server -Djava.net.preferIPv4Stack=true"
export LANG="en_US.UTF-8"
export SPRING_CONFIG_LOCATION=file:${ENV_VAR}

然后在/etc/init.d/tomcat7启动脚本中,我们输入一行. /etc/profile,用于设置应用程序在启动时需要的环境变量。

但是,此方法不能与Tomcat 8一起使用,并且没有设置环境变量来指示应用程序运行所需的属性文件的位置。

1 个答案:

答案 0 :(得分:0)

昨天我设法通过删除#!/bin/sh并将文件重新定位到/etc/default/configure-env-vars并在/etc/init.d/tomcat8执行以下检查来实现此工作:

case "$1" in
  start)

    # Setting environmental variables needed for the Spring Application
    TOMCAT_HOME=/home/ubuntu/tomcat
    [ -f /etc/default/configure-env-vars ] && . /etc/default/configure-env-vars

    if [ -z "$SPRING_CONFIG_LOCATION" ] ;  then
            echo "SPRING_CONFIG_LOCATION is not set, please set it in /etc/default/configure-env-vars" >&2
            exit 1
    fi