在Ubuntu Oneiric 11.10上,我想我会变得聪明并且join
export RAILS_ENV=production
到/etc/apache2/envvars所以我可以干我的Apacheconfiguration。 但它似乎不能从httpd.conf访问。 进一步挖掘,我开始使用ErrorLog作为testing,现在我很困惑。 在envvars给出以下几行:
export APACHE_RUN_USER=www-data export APACHE_RUN_NEWVAR=www-newvar
当我这样做:
ErrorLog ${APACHE_LOG_DIR}/${APACHE_RUN_USER}-error.log
我得到了一个名为/var/log/apache2/www-data-error.log的文件。 但是当我这样做:
ErrorLog ${APACHE_LOG_DIR}/${APACHE_RUN_NEWVAR}-error.log
我改为获取/var/log/apache2/${APACHE_RUN_NEWVAR}-error.log 。
我grepped软件包源, APACHE_LOG_DIR不硬编码任何地方; 它不应该是特殊的。 那么,什么阻止我使用新创build的variables?
这不是直接回答问题,而是根据乘客文件 ,生产是默认的环境,所以你不应该需要这条线。 (我猜你正在使用乘客)
编辑:我已经尝试把PassEnv APACHE_RUN_NEWVAR在我的虚拟主机configuration文件,它的工作。 这不是以前的工作。
请参阅文档 :
指定一个或多个本地系统环境variables作为内部环境variables
Edit2:看起来像PassEnv没有任何关系。 当我用apache2ctl restart加载configurationapache2ctl restart新variables没有定义,但如果我做apache2ctl stop然后apache2ctl start它工作正常…