私はのチュートリアルに従って、mod_wsgiを使ってApacheに単純フラスコアプリを開発して展開しています。私は私のApacheの設定の欠陥に絞り込んだと思う。 helloflask.pyをコマンドラインから実行すると、正常に動作します。 localhost:5000の別のシェルからwget経由でアクセスでき、正しい応答が得られます。私はまた、他の仮想ホスト(非WSGI)稼働を持っているので、私は、Apacheは、私は次の構造を持って実行しており、ポート80Hello World - Flask/Apache/mod_wsgi - Apacheからの応答なし
上の他の要求に応答している知っている:
/sites/helloflask.mydomain.com
/helloflask
application.wsgi
helloflask.py
(rest of env from virtualenv)
/log
access.log
error.log
helloflask.pyを:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
app.run()
application.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>
私は、バーチャルホストを有効にApacheを再起動し、ブラウザからの応答がありません。 "サーバーが見つかりません"ので、500応答、何もありません。アクセスログ/エラーログにはエントリがありません(この仮想ホスト固有)。私は私が再起動するたびにログインする包括的な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 [警告]行は私の問題ですが、私は方法がわからない場合、私は思ったんだけどまたはそれを修正するために何を修正するか。どんな提案も感謝しています。
ありがとうございます!
でWebブラウザを指してみてください。面白いのは、誰かがこれに返信するのを待っている間、私は/ etc/hostsの問題を持つ別の人を助けました。彼はもっと明らかだった - 彼は "ホストするためのルートなし"のエラーを得ていたが、まだ..私はここでそれを考慮していたはずである。 www.mydomain.comが正常に動作していたため、問題ではないと思いました。 DNSとサブドメインを調べる必要があると思います。ありがとう! – David
Apacheの問題と同じくらい、DNSの問題ではありませんでした。 ServerNameディレクティブのために、Apacheはhelloflask.mydomain.comのリクエストを探していましたが、127.0.0.1またはlocalhostを使用していたと推測しています。 –