Nginx+uwsgi+Django (

发布时间:2019-06-24 15:53:34编辑:auto阅读(1323)

    Nginx+uwsgi+Django (Python web环境)



    nginx配置文件

    [root@DB02 rc3.d]# vi /application/nginx/conf/nginx.conf
    user  root;
    worker_processes  1;
    events {
        worker_connections  1024;
    }
    #}
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        keepalive_timeout  65;
        upstream django {
            server unix:///tmp/project.sock; # for a file socket
        }
         server {
            listen       80;
            server_name  da.yilongzc.com;
            location  /static {
           alias /root/shell/DataShow/static; # your Django project's static files - amend as required
            send_timeout 500;
            proxy_read_timeout 500;
            proxy_connect_timeout 500;
            }
            location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
            {
                    root /root/shell/DataShow/;
                    if (-f $request_filename) {
                    expires 1d;
                    break;
                    }
            }
            location ~ .*\.(js|css)$
                    {
                    root /root/shell/DataShow/;
                    if (-f $request_filename) {
                    expires 1d;
                    break;
            }
            }
            location / {
               uwsgi_send_timeout 500;
               uwsgi_connect_timeout 500;
               proxy_read_timeout 500;
               uwsgi_read_timeout 500;
               uwsgi_ignore_client_abort on;
               uwsgi_pass  django;
               include     uwsgi_params;
            }
        }
    }


    通过/tmp/project.sock 文件,将nginx与uwsgi关联,进行通信

    注意:要放到/tmp 下,否则会报403 没有权限


    nginx配置文件中的超时时间,是为了解决504 time-out文件,主要是因为后端python环境,请求数据时,没有在指定时间内返回数据,所以出现这个问题,运维这边只能调整超时参数,或者找开发去优化SQL语句,在或者拆分他们的业务,将1个页面,分成多个小页面去请求




关键字