首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >上游超时(110:连接超时)

上游超时(110:连接超时)
EN

Stack Overflow用户
提问于 2021-03-03 05:42:27
回答 1查看 9.6K关注 0票数 0

我想在我的ubuntu机器的AWS ec2实例中的端口8000上部署我的Django网站。但是在运行Nginx服务器之后,我在浏览器中得到以下400/Bad请求错误,在Nginx错误日志中,它显示如下所示。

代码语言:javascript
复制
upstream timed out (110: Connection timed out) while connecting to upstream, client: 23.104.74.85, server: , request: "GET / HTTP/1.1", upstream: "http://2.12.52.96:8080/", host: "2.12.52.96"

下面是我的代码片段。

my_site.conf

代码语言:javascript
复制
# the upstream component nginx needs to connect to
upstream django {
    server unix:///home/ubuntu/my_site/my_site.sock;
}

# configuration of the server
server {
    listen      8000;
    server_name 2.12.52.96;
    charset     utf-8;

    # max upload size
    client_max_body_size 75M;

    # Django media and static files
    location /media  {
        alias /home/ubuntu/my_site/media;
    }
    location /static {
        alias /home/ubuntu/my_site/static;
    }

    # Send all non-media requests to the Django server.
    location / {
        uwsgi_pass  2.12.52.96:8000; 
        include     /home/ubuntu/my_site/uwsgi_params;
    }
}

uwsgi_params

代码语言:javascript
复制
uwsgi_param  QUERY_STRING       $query_string;
uwsgi_param  REQUEST_METHOD     $request_method;
uwsgi_param  CONTENT_TYPE       $content_type;
uwsgi_param  CONTENT_LENGTH     $content_length;

uwsgi_param  REQUEST_URI        $request_uri;
uwsgi_param  PATH_INFO          $document_uri;
uwsgi_param  DOCUMENT_ROOT      $document_root;
uwsgi_param  SERVER_PROTOCOL    $server_protocol;
uwsgi_param  REQUEST_SCHEME     $scheme;
uwsgi_param  HTTPS              $https if_not_empty;

uwsgi_param  REMOTE_ADDR        $remote_addr;
uwsgi_param  REMOTE_PORT        $remote_port;
uwsgi_param  SERVER_PORT        $server_port;
uwsgi_param  SERVER_NAME        $server_name;

my_site.ini

代码语言:javascript
复制
[uwsgi]

# full path to Django project's root directory
chdir            = /home/ubuntu/my_site/
# Django's wsgi file
module           = my_site.wsgi
# full path to python virtual env
home             =  /home/ubuntu/.virtualenvs/newUser

# enable uwsgi master process
master          = true
# maximum number of worker processes
processes       = 10
# the socket (use the full path to be safe
socket          = /home/ubuntu/my_site/my_site.sock
# socket permissions
chmod-socket    = 666
# clear environment on exit
vacuum          = true
# daemonize uwsgi and write messages into given log
daemonize       = /home/ubuntu/uwsgi-emperor.log
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-16 06:14:49

最后,我从facebook上得到了答案。谢谢哈桑·阿里·塞利姆。由于我的Nginx服务器和我的Django网站运行在同一台机器上,所以server_name应该是本地主机(Nginx将访问同一网络中的网站)。为了更容易理解,我将修改后的配置放在下面。my_site.conf

代码语言:javascript
复制
# the upstream component nginx needs to connect to
upstream django {
    server unix:///home/ubuntu/my_site/my_site.sock;
}

# configuration of the server
server {
    listen      8000;
    server_name localhost;
    charset     utf-8;

    # max upload size
    client_max_body_size 75M;

    # Django media and static files
    location /media  {
        alias /home/ubuntu/my_site/media;
    }
    location /static {
        alias /home/ubuntu/my_site/static;
    }

    # Send all non-media requests to the Django server.
    location / {
        uwsgi_pass  django; 
        include     /home/ubuntu/my_site/uwsgi_params;
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66451395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档