6

私はhttp://www.enigmeta.com/2012/08/16/starting-flask/のチュートリアルに従って、 mod_wsgi を使用して単純なフラスコ アプリを開発し、Apache にデプロイしています。私はそれをApache構成の欠陥に絞り込んだと思います。コマンド ラインから helloflask.py を実行すると、問題なく動作します。localhost:5000 の別のシェルから wget 経由でアクセスでき、正しい応答が得られます。他の仮想ホスト (wsgi 以外) も稼働しているので、Apache が稼働しており、ポート 80 で他の要求に応答していることがわかります。

私は次の構造を持っています:

/sites/helloflask.mydomain.com
   /helloflask
      application.wsgi
      helloflask.py
      (rest of env from virtualenv)
   /log
      access.log
      error.log

ハローフラスコ.py:

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run()

アプリケーション.wsgi:

import os, sys, logging
logging.basicConfig(stream=sys.stderr)

PROJECT_DIR = '/sites/helloflask.mydomain.com/helloflask'

activate_this = os.path.join(PROJECT_DIR, 'bin', 'activate_this.py')
execfile(activate_this, dict(__file__=activate_this))
sys.path.append(PROJECT_DIR)

from helloflask import app as application

Apache 構成: /etc/apache2/sites-available/helloflask.mydomain.com

<VirtualHost *:80>
  ServerName helloflask.mydomain.com

  WSGIDaemonProcess helloflask user=myuser group=myuser threads=5
  WSGIScriptAlias / /sites/helloflask.mydomain.com/helloflask/application.wsgi

  <Directory /sites/helloflask.mydomain.com/helloflask>
    WSGIProcessGroup helloflask
    WSGIApplicationGroup %{GLOBAL}
    Order deny,allow
    Allow from all
  </Directory>
  LogLevel warn
  ErrorLog /sites/helloflask.mydomain.com/log/error.log
  CustomLog /sites/helloflask.mydomain.com/log/access.log combined
</VirtualHost>

vhost を有効にして、Apache を再起動しましたが、ブラウザーから応答がありません。「サーバーが見つかりません」なので、500 応答はなく、何もありません。アクセス/エラー ログにエントリがありません (この vhost に固有)。再起動するたびに、包括的なApacheエラーログに次のように表示されます。

[Sat Jun 29 20:07:58 2013] [notice] caught SIGTERM, shutting down
[Sat Jun 29 20:07:59 2013] [warn] mod_wsgi: Compiled for Python/2.7.2+.
[Sat Jun 29 20:07:59 2013] [warn] mod_wsgi: Runtime using Python/2.7.3.
[Sat Jun 29 20:07:59 2013] [notice] Apache/2.2.22 (Ubuntu) PHP/5.3.10-1ubuntu3.6 with Suhosin-Patch mod_wsgi/3.3 Python/2.7.3 configured -- resuming normal operations

Python のバージョンが異なることを示す 2 つの [warn] 行が私の問題なのかどうか疑問に思っていますが、それを修正するためにどのように、または何を変更すればよいかわかりません。任意の提案をいただければ幸いです。

ありがとう!

4

1 に答える 1

7

helloflask.mydomain.com はどの IP を指していますか? 追加してみる

127.0.0.1    helloflask.mydomain.com    helloflask

hosts ファイルに移動し、Web ブラウザで

http://helloflask.mydomain.com
于 2013-06-30T05:43:50.657 に答える