Apache2 PassEnv 在重启后不起作用

Apache2 PassEnv 在重启后不起作用

我有一台安装了 vanilla apache 的 Ubuntu 12.04 LTS 服务器。在我的 Apache 配置中,我用来PassEnv传递环境变量:

PassEnv MY_VARIABLE

MY_VARIABLE定义在/etc/environment

MY_VARIABLE=true

如果我停止并启动 apache,变量就会被拾取,一切正常。但是,重新启动后,apache 不会拾取MY_VARIABLE

Apache 是否在/etc/environment设置变量之前启动?还有其他方法可以完成我想做的事情吗?

答案1

这很奇怪!您可以通过在 /etc/init/d/httpd 中获取 /etc/environment 来尝试作弊(不建议在所有场合都这样做)

1)一个直接的解决方案是使用自定义脚本来用您自己的配置启动您的 apache,您可以在脚本中完成所有的管理工作,请使用 -f 来指定您的自定义 httpd.conf 文件。

2)替代方案:使用 setEnv 从 httpd.conf 本身设置所需的环境变量。

3)另一种选择,尝试从.bashrc 导出所需的变量。

相关内容