2016-09-30 24 views
0

ec2にdjangoインスタンスをデプロイしようとしています。私はそれを達成するためにnginxとgunicornの組み合わせを使用しています。私はnginx isntanceとgunicornが正しく起動するようにして、インスタンスを実行できるようにしています。私は自分のアプリケーション上のデータベースに画像をアップロードしようとすると、しかし、私は私のgunicornのerror.logファイルにこのエラーに遭遇:上流(クライアント)に接続中にconnect()が失敗しました(111:Connection refused)

接続に失敗した-111-接続を拒否した - しばらく接続から上流へ

また、フロントエンドからデータベースへの私のすべてのapi呼び出しは、コンソールに500の内部サーバーを返します。 マイnginx.confが

upstream app_server_djangoapp { 
server 127.0.0.1:8000 fail_timeout=0; 

}

{ #のEC2インスタンスのセキュリティグループは、HTTP接続を受け入れるようにサーバーを構成する必要がありますよう

default_type  application/octet-stream; 

# Load modular configuration files from the /etc/nginx/conf.d directory. 
# See http://nginx.org/en/docs/ngx_core_module.html#include 
# for more information. 
include /etc/nginx/conf.d/*.conf; 
include /etc/nginx/sites-enabled/*; 
include /etc/nginx/sites-available/*; 
index index.html index.htm; 

server { 
    listen  127.0.0.1:80; 
    listen  [::]:80 default_server; 
    server_name 127.0.0.1; 
    root   /usr/share/nginx/html; 

    # Load configuration files for the default server block. 
    include /etc/nginx/default.d/*.conf; 

    location/{ 
    } 

    # redir 

そして、私のサイトを有効/デフォルトのファイルのように見えますポート80を越えて listen 80; server_name myec2isntance.com;フォルダに右permissisonsを追加 -

access_log /var/log/nginx/guni-access.log; 
error_log /var/log/nginx/guni-error.log info; 

keepalive_timeout 5; 

# path for static files 
location /static { 
    alias xxxxxx; 
} 
location /media { 
    alias xxxxxx; 
} 
location/{ 
location/{ 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header Host $http_host; 
    proxy_redirect off; 

    if (!-f $request_filename) { 
     proxy_pass http://app_server_djangoapp; 
     break; 
    } 
} 

}

は、私は人々がの話物事のほとんどを試してみました。 localhostを127.0.0.1などに変更しています。私はこのトピックには比較的新しいので、どんな助けでも大歓迎です!

あなたは

答えて

0

私はこれにデフォルトを変更することをお勧めありがとう:

upstream app_server_djangoapp { 
server 127.0.0.1:8000 max_fails=3 fail_timeout=50; 
keepalive 512; 
} 

-

keepalive_timeout 5; 

削除 - なぜuが2つの場所/ブロックを持っていますか?

location/{ 
    location/{ 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header Host $http_host; 
    proxy_redirect off; 

    if (!-f $request_filename) { 
     proxy_pass http://app_server_djangoapp; 
     break; 
    } 
} 
+0

ダブルロケーションブロックに気付かなかった。私はそれを取り除いた。ログには何も見えませんが、フロントエンドからPOSTコールを行うたびに500 internelサーバーのエラーが表示されます。 –

+0

これは進歩です。あなたはDjangoのdevサーバを走らせるときのトレースは何ですか?また、アップロードに30秒以上かかる場合、Gunicornはタイムアウトします。あなたはgunicornコマンドで '--timeout 120'(2min)を使う必要があります –

関連する問題