遵循本指南:
http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide
我无法配置“Hello World”WSGI应用程序(我没有在docroot上安装并且没有委托给守护进程) 在我的ubuntu挤压。 Python版本是2.6.5。 我相信mod_wsgi已正确安装。 这是我做的:
添加了用户组www-data,这是apache2在以下地址运行的地方:
groups wsgitest
wsgitest : wsgitest www-data
作为wsgitest,添加了明确读取文件夹的权限:
chmod -R g+rx wsgitest
使用指南中完全相同的内容创建了一个WSGI应用程序脚本文件:
ls -la /home/wsgitest/
(...)
-rw-r--r-- 1 wsgitest wsgitest 277 May 7 17:11 application.wsgi
创建了一个应用程序配置文件:
cat /etc/apache2/sites-available/application.conf
<VirtualHost *:80>
WSGIScriptAlias /application /home/wsgitest/application.wsgi
<Directory /home/wsgitest>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
(文件属于root:root)
启用网站:
ls -la /etc/apache2/sites-enabled/
(..)
lrwxrwxrwx 1 root root 35 May 9 15:29 application.conf -> ../sites-available/application.conf
重新启动apache2并转到以下地址:
<ip-address>/application
<ip-address>/application/
给出404。
禁用该网站并将文件放在文件/etc/apache2/apache2.conf的底部:
<Directory /home/wsgitest>
Order allow,deny
Allow from all
</Directory>
WSGIScriptAlias /application /home/wsgitetst/application.wsgi
重新启动apache并尝试再次导航,无需更改。
尝试使用lynx和localhost,没有任何更改。
在apache2中启用日志信息级别。 / var / log / apache2访问日志告诉我该请求的回答是“404 503”, 这是来自error.log:
[Wed May 09 15:39:28 2012] [info] mod_wsgi (pid=27914): Attach interpreter ''.
(...)
[Wed May 09 15:39:32 2012] [error] [client <ip>] File does not exist: /var/www/application
(...)
[Wed May 09 15:39:28 2012] [info] mod_wsgi (pid=27914): Cleanup interpreter ''.
“other_vhosts_access.log”为空。
对我来说,看起来请求永远不会到达wsgi应用程序或者没有以某种方式路由... 任何人都可以帮我确定问题吗?
答案 0 :(得分:1)
在application.wsgi中必须是 application 可调用对象(区分大小写)
答案 1 :(得分:0)
哦不。我确实检查了3到4次,但仍然有一个错字。 正如您在apache2.conf编辑(wsgitetst)中的WSGIScriptAlias声明中所看到的那样。 包含配置仍然不起作用,但没关系。