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などに変更しています。私はこのトピックには比較的新しいので、どんな助けでも大歓迎です!
あなたは
ダブルロケーションブロックに気付かなかった。私はそれを取り除いた。ログには何も見えませんが、フロントエンドからPOSTコールを行うたびに500 internelサーバーのエラーが表示されます。 –
これは進歩です。あなたはDjangoのdevサーバを走らせるときのトレースは何ですか?また、アップロードに30秒以上かかる場合、Gunicornはタイムアウトします。あなたはgunicornコマンドで '--timeout 120'(2min)を使う必要があります –