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
。私のフラスコアプリは、フラスコに統合された開発サーバーを使用して実行すると、正常に動作します。