2016-11-03 16 views
8

設定ファイルを変更した後で再起動しようとするまで、WebfactionでホストされているプロダクションサーバーのMy Djangoアプリケーションが正常に動作していました。私は逃げたDjango Webfaction 'デーモンプロセスからレスポンスヘッダーを読み込むときのタイムアウト'

apache2/bin/restart 

いつものように。その後、ブラウザで自分のアプリケーションにアクセスしようとしましたが、504ゲートウェイのタイムアウトが発生しました。私はmod_wsgiのログを見て、これを見ました:

[Thu Nov 03 23:46:53.605625 2016] [wsgi:error] [pid 8027:tid 139641332168448] 
[client 127.0.0.1:34570] Timeout when reading response headers from daemon 
process 'myapp' : /home/<me>/webapps/<myapp>/<ProjectName>/<myapp>/wsgi.py 

これはどういう意味ですか、どうすれば修正できますか? settings.pyファイルで変更したのは、変数名を動かすことだけでした。私はまだ正常にアプリケーションと対話することができます

python2.7 manage.py shell 

しかし、私はWeb上でそれにアクセスすることはできませんAPIを使用します。

編集:ここに私のwsgi.pyファイルです:

import os 

from django.core.wsgi import get_wsgi_application 

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "<myapp>.settings") 

application = get_wsgi_application() 
+1

のために働きました。その設定ファイルをローカルで実行できますか? – theWanderer4865

+0

私はmod_wsgiについてよく知らないですが、どうやってバージョン情報を入手できますか?ディレクトリapache2 /、いくつかの起動スクリプトがあります – Nick

+0

もし私のwsgi.pyファイルが追加されたら、 – Nick

答えて

13

PythonのC拡張モジュールは、numpyのように、mod_wsgiの下で使用する際のタイムアウトを引き起こすことが知られています。 https://serverfault.com/a/514251/109598

問題の原因である可能性があると思われる場合は、解決策は簡単でしょう - httpd.confに次の行を追加してください(mod_wsgiの作者からの直接の問題です)。 :

WSGIApplicationGroup %{GLOBAL} 

変更後にApacheインスタンスを再起動してください。要求のタイムアウトまたはソケットのタイムアウトのようなものをルックス - Apacheのhttpdのタイムアウトを増やす

+0

うわー!ありがとう、私はどこでもそれを見つけることができませんでした。ええ、最近私のプロジェクトにNumpyを追加したので、これが原因かもしれません。 – Nick

+1

大歓迎です!私は助けてくれるとうれしいよ:) –

+0

私のために働いた。 Python 3.5.1、Ubuntu 14.04.3 LTS、Apache 2.4.7(mod_wsgi)。私はパンダとnumpyの両方をインポートします。 – Deleet

-1

では、Apache/mod_wsgiのに関するいくつかのバージョン情報を投稿することができ、私

+0

それはあなたとはまったく異なる問題です。 Timeoutディレクティブの値を変更することは、この問題がC拡張モジュールの問題であると思われる特定の問題では機能しません。 –

関連する問題