Nginx+uwsgi+Django (

2020-01-17 11:22:12 浏览数 (1)

Nginx uwsgi Django (Python web环境)

nginx配置文件

代码语言:javascript复制
[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个页面,分成多个小页面去请求

0 人点赞