1

CentOS 6.3(SE linuxが無効)を実行しているApacheサーバー(2.2.15)でフラスコアプリケーションを実行しようとしています。そのためにmod_wsgi(ソースからインストールされた3.3)を使用しています。

ここでテストスクリプトを試しましたが、HTTP 200が返されますが、アプリケーションを同じディレクトリに配置してhttpd.confそれに応じて調整すると、HTTP500が返されます。

これが私の関連部分です/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>

私はDebian6を実行している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 デバッグ ページでのテストは、flaskの例と同様に正常に機能しました。

于 2012-09-14T18:13:34.247 に答える