所需行为
我希望Apache使用mod_wsgi
中安装的virtualenv
,而不是依赖系统级安装的mod_wsgi
。我假设这是可能的,因为这是我认为的virtualenv
,即创建孤立的环境。
当前行为
环境:Linux Mint 17
sudo /etc/init.d/apache2 start
AH00526: Syntax error on line 1 of /etc/apache2/sites-enabled/000-default.conf:
Invalid command 'WSGIPythonHome', perhaps misspelled or defined by a module not included
in the server configuration
Action 'configtest' failed.
/etc/apache2/sites-enabled/000-default.conf
WSGIPythonHome /var/www/html/ENV
WSGIPythonPath /var/www/html:/var/www/html/ENV/lib/python2.7/site-packages
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
WSGIScriptAlias / /var/www/html/myapp/app.wsgi
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
我尝试过的事情
如果我在系统级通过Synaptic Package Manager安装mod_wsgi
,那么一切都按预期工作。
如果我*在系统级通过Synaptic Package Manager卸载* mod_wsgi
,只需依靠mod_wsgi
中pip
安装的virtualenv
,我得到上面的错误。
我一直在指这个问题,但无法从中收集任何特定的解决方案:
答案 0 :(得分:1)
经过反思,我现在猜测,mod_wsgi
是一个Apache模块,它不可能在virtualenv
内运行,就像Apache无法在{{1}内运行一样因此,virtualenv
需要在系统级安装才能工作。
另见:
Can I run Apache, mod_wsgi and MongoDB within virtualenv?
这是我最终使用的配置:
<强> /etc/apache2/sites-enabled/000-default.conf 强>
mod_wsgi