遵循本指南:
http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide
我无法在我的 ubuntu 挤压机上配置“Hello World”WSGI 应用程序(我没有安装在 docroot 并且没有委托给守护进程)。Python 版本是 2.6.5。我相信 mod_wsgi 安装正确。这是我所做的:
- 创建了一个用户 /home/wsgitest (我知道我们不应该这样做,但这只是为了测试)。
将用户添加到组 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 应用程序或者没有以某种方式路由......任何人都可以帮我确定问题吗?