1

我在 Debian 机器上为 Apache 启动并运行 python WSGI 模块时遇到了问题,或者可能只是我很难证明它在运行。

系统是 Debian 6.0.6,运行 python 2.6.6 和 Apache 2.2.16,启用了 mod_python 和 mod_wsgi;all 是默认安装,没有任何我知道的疯狂配置。

我想要做的是在 /var/www/pythontest 中有一个目录,一些开发人员可以删除一些简单的 python 代码并让它执行并在浏览器中显示结果。(具体原因不是刚开始安装django是老板要求先这样,然后我才能安装django。去图吧。)

我一直在尝试按照http://code.google.com/p/modwsgi/wiki/QuickConfigurationGuide上的配置指南来确认一切正常。

设置的 VirtualHost 是

>    < VirtualHost ###.##.###.##:80> <br>
>    ServerName test.yyy.com <br>
>
>    LogLevel info  <br>
>    ErrorLog /var/log/apache2/error.test.log <br>
>    CustomLog /var/log/apache2/access.test.log combined <br>
>
>    DocumentRoot /var/www <br>
>
>    WSGIDaemonProcess yyy.com processes=2 threads=15 display-name=%{GROUP} <br>
>    WSGIProcessGroup yyy.com <br>
>    WSGIScriptAlias /pythontest  /var/www/pythontest/test1.wsgi <br>
>
>    < Directory /var/www/pythontest > <br>
>    Order allow,deny <br>
>    Allow from all <br>
>    < /Directory> <br>
>    < /VirtualHost>

在 pythontest 目录中是上面列出的配置指南中的 test1 脚本。

此时一切看起来都已安装好,没有吐出任何错误。我已经能够读取我放入目录中的任何文件/脚本,所有文件/脚本都具有 755 权限。但是 NONE 已经执行并在浏览器中显示了结果。

错误日志仅包含上述配置 [Fri Dec 28 10:46:21 2012] [info] mod_wsgi (pid=6554): Attach interpreter ''。

此时,我要做的就是让一个 python wsgi 应用程序成功运行,以证明一切正常,然后再进行任何更改并让程序员放松。

我可能只是累了,错过了显而易见的事情,但是关于可能是什么问题以及如何证明和解决它的任何建议?

谢谢,

蒂莫西。

4

2 回答 2

1

系统是 Debian 6.0.6,运行 python 2.6.6 和 Apache 2.2.16,启用了 mod_python 和 mod_wsgi;all 是默认安装,没有任何我知道的疯狂配置。

mod_python 几年前就失宠了。不需要运行 mod_wsgi。您同时在同一台服务器上运行的事实一个疯狂的配置。除非您需要它用于其他网站,否则我强烈建议您删除 mod_python。

之所以这样而不是刚开始安装Django的具体原因是老板要求先这样做,然后我才能安装Django。去图。

他是对的。这样做意味着您确定这是您的 mod_wsgi 配置的问题,与 Django 无关。它减少了调试某些东西需要查看的地方的数量。

于 2012-12-28T16:52:14.470 回答
0

你用的是什么网址?唯一可以使用该配置的是/pythontest,它总是会执行/var/www/pythontest/test1.wsgi。

如果您可以访问 DocumentRoot 的 /pythontest 目录下的任何脚本的原始代码,则表明 VirtualHost 甚至没有被使用。

可能的原因是 VirtualHost 甚至没有启用并被 Apache 包含在内,或者可能是因为您在 VirtualHost 名称中使用了 IP,而这可能不应该。

任何一个上的东西都意味着它将回退到默认的 VirtualHost,并且由于您可能使用相同的 DocumentRoot,默认的 VirtualHost 会将它们作为静态文件提供。

于 2012-12-28T22:34:58.940 回答