Articles of 环境variables

nginx在系统重启时不使用/ etc / environment中设置的variables,而是在从shell重新启动时使用

我有一个Rails应用程序运行在nginx /乘客。 它使用sudo /etc/init.d/nginx stop|start|restart在shell中高兴地sudo /etc/init.d/nginx stop|start|restart 。 但是Passenger在系统重启时会抛出一个错误:“Missing the Rails#{version} gem”。 但是GEM_HOME和GEM_PATH都在/etc/environment设置,所以在重启过程中它们肯定会被所有的进程使用。 在/ etc /环境 PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games" GEM_HOME=/var/lib/gems/1.8 GEM_PATH=/var/lib/gems/1.8 /etc/init.d/nginx #! /bin/sh ### BEGIN INIT INFO # Provides: nginx # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts the nginx web server # Description: […]

Apache + LDAP身份validation中缺less“AUTHENTICATE_”环境variables

根据Apache 2.2文档 ,在对Active Directory成功进行身份validation之后, AuthLDAPUrl伪指令中指定的LDAP属性应该可用作默认前缀AUTHENTICATE_环境variables。 但是,在Debian 6.0.4 + Apache 2.2.16 + mod_wsgi上,env vars没有设置。 我可以无问题地进行身份validation,而其他一切正常。 有什么我可以做,让他们设置? 较新版本的Apache和/或LDAP模块?

uCLinux如何使环境variables对由init和衍生shell运行的进程可见

我正在使用uCLinux系统,需要设置一个自定义的环境variables。 我希望在引导序列早期设置variables,以便启动的守护进程可以读取它。 我尝试在rcS启动脚本中导出variables(在从/etc/rc.d/rcS.d/启动主启动脚本之前,这似乎工作正常,但loginshell msh不inheritance该variables。 我如何configuration系统,使基本上所有的进程开始看到这个新的环境variables? TY,Fred

如何使用uWSGI将环境variables传递给WSGI脚本?

我已经将以下行添加到/etc/environment : FOO_DEPLOYMENT_ENV="vbox" 通过SSHlogin后,我可以echo $FOO_DEPLOYMENT_ENV ,当然,也可以将vbox输出到shell。 如果我打开一个Python shell并运行os.getenv('FOO_DEPLOYMENT_ENV') ,它将返回'vbox' ,但是在我的Python应用程序中,当它由uWSGI(如www-data用户)运行时,它看不到相同的代码环境variables。 显然,这不是uWSGI的问题,而是我对环境variables的理解,或者它们是如何正确设置的,以及它们可以被检索的上下文的问题。 我在做什么或理解不正确?

如何为Tomcat webapp设置$ LD_LIBRARY_PATH,然后自动取消设置?

我有一个需要设置LD_LIBRARY_PATH的Tomcat webapp。 我正在使用RHEL6和Tomcat6(来自yum包pipe理器),webapp被称为adore-djatoka 。 我使用提供的脚本启动tomcat,导出一些环境variables,但似乎LD_LIBRARY_PATH未被设置,我认为这是一个安全function,因为init脚本是由用户“ root ”运行的,但是tomcat正在运行作为“ tomcat ”。 当我重新启动tomcat,我看到日志文件“ djatoka.log ”中的以下行: 2013-01-04/10:25:04.118/EST [main] DEBUG envParams: LD_LIBRARY_PATH=null | null/kdu_compress 我读的是告诉我应用程序期望LD_LIBRARY_PATH被设置,但是发现它是空的,因此它会在null/目录中查找kdu_compress 。 我已经用echo散布启动脚本,所以我可以看到LD_LIBRARY_PATH正在被设置和导出,所以我假设它一定是未设置的。 有一些与webapp绑定的脚本来testing它的安装是否正确,并且它们在命令行中运行良好,但是它们很短,只是导出环境variables(包括LD_LIBRARY_PATH )并调用java。 我试过添加 LD_LIBRARY_PATH="/opt/adore-djatoka-1.1/lib/Linux-x86-64" export LD_LIBRARY_PATH 到/usr/share/tomcat6/bin/setenv.sh 我试过添加 LD_LIBRARY_PATH="/opt/adore-djatoka-1.1/lib/Linux-x86-64" 到`/etc/tomcat6/tomcat6.conf LD_LIBRARY_PATH已经在启动脚本中导出,它继续调用/etc/init.d/tomcat6 [start/stop/restart] 对于这里的一些主题,我很新,所以如何更好地了解下一步的位置或者哪些信息对于发布有用的指导也是值得赞赏的。 我已经读过“为什么LD_LIBRARY_PATH不好” 所以我的问题是如何启动tomcat,以便它不会将LD_LIBRARY_PATH设置为空? 或者如何将它设置为空后重新设置为我想要的? 或者我怎样才能阻止Web应用程序依赖它呢? 干杯,

如何在Apache SetEnv指令中将换行符放入环境variables中?

我想在一个环境variables中有一个换行符。 我试过了 SetEnv DI_collection_clients_list "client1 client2" 这导致了 Invalid command 'client2"', perhaps misspelled or defined by a module not included in the server configuration 当重新启动Apache。 我也试过了 SetEnv DI_collection_clients_list "client1\nclient2" 这导致variables当然有\n而不是换行符。

环境variables在Python中不可用

关于环境variables,我有一个非常有趣的问题,并且使用Googlesearch并没有显示出任何有意义的结果: $ echo $BUCKET && python -c "import os; print os.environ['BUCKET']" mule-uploader-demo Traceback (most recent call last): File "<string>", line 1, in <module> File "/usr/lib/python2.7/UserDict.py", line 23, in __getitem__ raise KeyError(key) KeyError: 'BUCKET' 所以我有一个在bash中可用的环境variables,但不是在python中。 这怎么可能发生,我该如何解决? 这里是一些额外的细节: 环境variables通过source envvars.sh命令设置 envvars.sh文件仅包含如下所示的行: KEY=value 我已经在bash和zsh中转载了这个 如果我做一个export BUCKET=$BUCKET ,它的工作

使用AWS CodeDeploy的环境variables

我有一个Web应用程序,利用它的一些configuration(数据库证书,API密钥等)的环境variables。 我目前正在使用Elastic Beanstalk进行部署,并且可以在AWS中轻松设置这些,这很好,因为我的代码库中没有这些敏感数据。 不过,我正在考虑从Elastic Beanstalk进行切换,这样我可以利用我的web实例更灵活一点,自然我正在考虑使用CodeDeploy部署(从我的Codeship CI设置)。 CodeDeploy非常简单,我已经将它与Codeship集成在一起,但我注意到没有像Elastic Beanstalk那样使用CodeDeploy设置环境variables的内置function。 有没有人有这个过程的最佳做法?

OpsWorks环境variables可用于PHP CLI

我们正在使用OpsWorks将基于Laravel的应用程序部署到AWS。 我们已经通过OpsWorks控制台定义了环境variables,并且Apache可以正确地看到它们。 但是,在运行诸如artisan命令的CLI任务时,它们不会被设置。 我知道这是由于在Apache的虚拟主机configuration文件中设置了环境variables。 我想我可以通过运行一个能够回应这些variables的部署钩子来解决这个问题,并将它们附加到/etc/environment ,但是这种方式不起作用(即使这样做也是令人难以置信的)。 有没有其他办法可以做到这一点? OpsWorks是否允许这个特定的要求? 谢谢。

terminal服务器上的环境variables客户端范围

我有一个需要CLIENTNAME环境variables的脚本,它运行在terminal服务器上。 我有一个batch file进行testing,其中包含: set CLIENTNAME; 暂停 如果我作为pipe理员的RDP:如果我打开命令提示符,运行脚本,它显示客户端名称。 如果我双击脚本,则CLIENTNAMEvariables不存在。 如果我从igel / wyseterminallogin:如果我双击同一个脚本,它显示客户端名称。 其他细节:2008R2,XenApp 6.5,作为域pipe理员进行testing。 环境variablesCLIENTNAME发生了什么? 为什么当我双击batch file的时候,如果我是RDPd的服务器,但是如果命令提示符已经打开,是否存在? 所有其他的环境variables似乎在那里。