在Tomcat应用程序中的shell脚本/访问中设置环境变量

Ana*_*oni 6 java linux tomcat environment-variables ubuntu-10.04

我想添加可以通过我的tomcat web-app访问的环境变量.我已经通过这个链接,但我想在root用户中设置环境变量.怎么做?

gsa*_*lis 6

根据文档(http://tomcat.apache.org/tomcat-7.0-doc/RUNNING.txt),您应该在$ CATALINA_HOME/bin/setenv.sh中设置所有env变量

编辑:为了完整性,我想值得一提的是,即使这是推荐的方式,上面的文档说明:

默认情况下,setenv脚本文件不存在.如果CATALINA_BASE和CATALINA_HOME中都存在脚本文件,则首选CATALINA_BASE中的脚本文件.

如果它不存在,您可能还想在以下位置查找env vars:

  • /etc/tomcat/tomcat[67].conf (suse)或
  • /etc/default/tomcat[67].conf (例如ubuntu)或
  • /etc/sysconfig/tomcat[67].conf (rhel,fedora)


Ana*_*oni 0

找到了解决方案...我所做的是将导出语句放在 /etc/init.d/tomcat6顶部并通过命令重新启动服务器sudo /etc/init.d/tomcat6 restart。所以现在我在 tomcat 服务器中运行的网络应用程序可以访问该变量。

  • 我认为修改原生 Apache 脚本 `/etc/init.d/tomcat6` 不是一个好主意。您的更改可能会干扰将来的更新,而且您正在修改默认的 Tomcat 行为。对我来说似乎很老套。 (5认同)
  • 我同意你的看法。请建议我任何其他方法来做到这一点。我已在 AWS CloudFormation 上设置所有环境,以实现 AWS 基础设施中的自动化。所以它可能会自动完成所有的事情。但仍在寻找更好的建议。 (2认同)