6

uWSGI と Nginx を使用して、Django Web サイト (1.4 バージョン) をサーバーアップしています。私のファイル構造は django_mysite/django_mysite/ で、そこには wsgi.py ファイルがあります。
502 不正なゲートウェイ エラーが発生し続けます。nginx を実行している他のサーバーがあり、正常に動作しています。

私のnginx設定:

server {
  listen      80;
  server_name beta.example.com;

  keepalive_timeout 70;

  root /path/to/django_mysite/django_mysite;


  location root {
        root   html;
        uwsgi_pass   localhost:9000;
        uwsgi_param UWSGI_SCRIPT django_wsgi;
        include        uwsgi_params;
    }

  location / {
        uwsgi_pass   localhost:9000;
        include        uwsgi_params;
        uwsgi_param SCRIPT_NAME /django;
        uwsgi_param UWSGI_SCRIPT django_wsgi;
        uwsgi_modifier1 30;
    }
}

私の wsgi.py ファイル: import sys import os

sys.path.append('/path/to/django_mysite/')
 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "django_mysite.settings")

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

ログのエラーは次のとおりです。

*3 recv() failed (104: Connection reset by peer) while reading response header from upstream

ありがとう

4

3 に答える 3

1

私は同じ問題に直面していましたが、次の方法で解決しました。

プロジェクトにサードパーティのアプリが含まれている場合は、サウスがサードパーティのアプリであるように、サーバーにインストールする必要があります。south が settings.py ファイルに含まれていることを考慮してください。その場合、south もサーバーにインストールする必要があります。そのモジュールがここで南を検討している場合、サーバーに既にインストールされている場合は、アップグレードを試みてください。ローカル マシンでアップグレードされたバージョンのモジュールを使用していて、古いバージョンがサーバーにインストールされている可能性があるためです。

于 2014-04-22T10:50:20.987 に答える
1

私が見つけた解決策は次のとおりです。uwsgi ワーカーを作成するために作成した uwsgi.ini ファイルでは、ソケットが指定されていませんでした。そこで、別の .ini ファイルを作成し、そのソケットを作成しました。uwsgi_passの下のnginx confファイルに配置した同じソケット。これは、uwsgi を構成するための django の Web ページへのリンクです。

https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/uwsgi/

于 2012-07-17T20:25:43.830 に答える