5

Flaskアプリの1つをapacheのmod_wsgiにデプロイしようとしていますが、apacheがファイルシステム上のルートの一部を解決しようとしているため、問題が発生しています。

apacheのerror_log:

[Mon Aug 06 19:18:38 2012] [error] [client ::1] File does not exist: 
/srv/http/webchat/src/_publish_message, referer: http://localhost:88/webchat/chat

認証(「/」上)と「/ chat」へのリダイレクトが機能するため、「一部のルート」と言っています。

ルート「_publish_message」には、次のようにAJAX経由でアクセスします(jQueryを使用)。

function publish_message(e){
    e.preventDefault();
    $.post('/_publish_message', {'message': "user's message taken from a text field"})
        .fail(Handler.publish_error);
}

ルート「_sse_stream」は、EventSourceのURLとして使用されます。

これら2つは機能していません!

仮想ホスト構成:

<VirtualHost *:88>
    ServerName webchat.dev

    WSGIDaemonProcess webchat user=http group=http threads=5
    WSGIScriptAlias /webchat /srv/http/webchat/src/webchat.wsgi
    WSGIScriptReloading On

    DocumentRoot /srv/http/webchat/src

    <Directory /srv/http/webchat/src>
        WSGIProcessGroup webchat
        WSGIApplicationGroup %{GLOBAL}
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>

webchat.wsgiファイル:

import sys
sys.path.insert(0, '/srv/http/webchat/src')
from index import app as application

正常に実行するためにデプロイされた基本的な「helloworld」アプリmod_wsgi。私のフラスコアプリは、フラスコに統合された開発サーバーを使用して実行すると、正常に動作します。

4

1 に答える 1

2

このリンクを使用して、正しいプロセスに従ってください。$SCRIPT_ROOT 変数を使用する必要があります。

フラスコ.pocoo.org/docs/patterns/jquery

于 2012-08-08T16:48:31.780 に答える