[英]Environment variables in Ubuntu Tomcat, Apache and Java
我有一个在Windows环境中运行的Java Web应用程序,我想将其移至Ubuntu系统。 在Windows中,我使用环境变量存储主路径:
MAIN_PATH=C:\test
此变量在许多配置文件和应用程序中使用,例如:
例子:
Tomcat配置
<Host name="localhost" appBase="${MAIN_PATH}/webapps" unpackWARs="true" autoDeploy="true">
apache虚拟主机
<VirtualHost *:80>
DocumentRoot "${MAIN_PATH}/www"
ServerName testmain
<Directory "${MAIN_PATH}/www">
...
我找不到在ubuntu中进行设置的方法,我尝试了以下方法:
/etc/enviroment
/etc/profile
在/etc/init.d/tomcat7.sh中export MAIN_PATH=/opt/test
所有这些解决方案都行不通,或者仅满足我的一项要求(仅在服务器配置中有效,而在应用程序中无效,反之亦然)。
有没有像Windows全局环境变量可用于所有这些情况的?
您是否检查过ubuntu / linux文档? 这很简单。
请参阅: https : //help.ubuntu.com/community/EnvironmentVariables
这对我来说非常有效。
我建议您将环境变量对于应用程序的每一层分开。 例如,将所有内容放在一个地方似乎很有意义,但我认为共享Apache和Tomcat的配置目录并不是一个好设计。 两者都有配置文件的标准位置(例如$CATALINA_HOME/conf
)。
我不认为您在Apache上使用log4j,为什么还要将其放在与Apache共享的自定义目录中。 将其放在您的Web应用程序内的conf文件夹中,或放在前面提到的顶级conf目录中。 也许您将在Tomcat上拥有多个web应用程序-在这种情况下,在特定的webapp目录中记录配置文件更为有意义。
在流程中包含环境变量也更清洁。 它们不会影响全局环境变量。 例如,当您启动Tomcat时,setenv.sh脚本将运行并仅针对运行Tomcat的Java进程设置所有环境变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.