2014-05-07 87 views
0

为什么我的应用程序不能访问我设置的环境变量?我为AWS部署了一个WAR,并通过ssh设置了环境变量,但无法读取它们。这个过程在我的开发环境中工作,所以不知道为什么它不能在生产环境中工作。有任何想法吗?我在本地的一个窗口盒子和一个生产中的linux盒子,但我认为这不重要。环境变量访问AWS

回答

2

应设置环境变量,以便用户可以看到它们的运行过程。

你说你正在部署一个WAR--所以我的猜测是它在tomcat上 - 你可以将你的环境变量添加到tomcat/bin目录中的setenv.sh脚本。

样品setenv.sh与Tomcat的几个选项和环境变量的内容:

export CATALINA_OPTS="-Xmx1024M -XX:PermSize=512M -Duser.timezone=UTC -DgeoIPFile='/some/path/to/GeoIP.dat' -DxafileDir='/tmp/xafile' -DuploadDir='/path/to/uploads/dir'" 
export MYENVVAR="12345" 
+0

这是tomcat的。我没有看到一个tomcat/bin目录。我是否需要停止我的服务器才能访问它?我将如何去创建该脚本? – user3517302

+0

您的EC2实例上运行了哪些Linux发行版?或许在/ opt/tomcat中查找tomcat,或者查看用于创建EC2实例的映像的文档以获取有关安装tomcat的详细信息。 Tomcat已经有了这个脚本,所以你不应该创建它。 – AndyMoose

+0

如果它是ubuntu,可能试着在/ etc/tomcat6中寻找配置文件 – AndyMoose