1

我试图让一个烧瓶应用程序在运行 CentOS 6.3(禁用 SE linux)的 Apache 服务器(2.2.15)上运行,并且正在使用 mod_wsgi(从源代码安装 3.3)来执行此操作。

我在这里尝试了测试脚本,它返回了 HTTP 200,但是当我将应用程序放在同一目录中并httpd.conf进行相应调整时,我得到了 HTTP 500。

这是我的相关部分/etc/httpd/conf/httpd.conf

LoadModule wsgi_module modules/mod_wsgi.so
WSGISocketPrefix /tmp/wsgi
<VirtualHost *:80>
#    ServerAdmin root@localhost
    DocumentRoot /var/www/html/
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
     ServerName XXXX.YYYYY.org
     WSGIDaemonProcess irbsite user=apache group=apache threads=5
     WSGIScriptAlias / /var/www/html/irbsite.wsgi

     <Directory />
    WSGIProcessGroup irbsite
    WSGIApplicationGroup %{GLOBAL}
    Order deny,allow
    Allow from all
    </Directory>

我在运行 Debian 6 的 linode 服务器上运行了一个类似的应用程序,它开箱即用。

编辑:检查错误日志显示脚本被调用:

[Thu Sep 13 17:24:45 2012] [info] mod_wsgi (pid=6223): Attach interpreter ''.
[Thu Sep 13 17:24:45 2012] [info] mod_wsgi (pid=6228): Attach interpreter ''.
[Thu Sep 13 17:24:45 2012] [info] mod_wsgi (pid=6229): Attach interpreter ''.
[Thu Sep 13 17:24:45 2012] [info] mod_wsgi (pid=6230): Attach interpreter ''.
[Thu Sep 13 17:24:45 2012] [info] mod_wsgi (pid=6231): Attach interpreter ''.
[Thu Sep 13 17:24:47 2012] [info] [client 140.107.134.36] mod_wsgi (pid=6223, process='irbsite', application=''): Loading WSGI script '/var/www/html/irbsite.wsgi'.

我不确定下一步该尝试什么。

4

1 回答 1

1

经过进一步测试,事实证明,罪魁祸首是应用程序正在调用的 sqlite 数据库的非显式路径名。mod_wsgi 调试页面上的测试与烧瓶中的示例一样运行良好。

于 2012-09-14T18:13:34.247 回答