django前后端分离前端nginx配置


user  root;
worker_processes  auto;
#worker_rlimit_nofile 65535;
worker_rlimit_nofile 1024;

error_log  /etc/nginx/logs/error.log error;



events {
    accept_mutex on;
    multi_accept on;
    use  epoll;
    #worker_connections  65535;
    worker_connections  1024;#操作系统能打开的最大文件句柄数ulimit -n 查看
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    access_log /etc/nginx/logs/access.log;
    sendfile        on;
    sendfile_max_chunk 512k;
    tcp_nopush     on;

    keepalive_timeout  650;
    server_tokens off;

    client_max_body_size 5m;
    #client_header_buffer_size 4k;
    client_header_buffer_size 16k;
    client_body_timeout 200;
    reset_timedout_connection on;
 
 # 集群分发
    upstream xxxx.com{
        ip_hash; 
        server 10.10.10.10:8000 max_fails=3  fail_timeout=5s ;          #保持session一致;注意:当负载调度算法为ip_hash时,后端服务器在负载均衡调度中的状态不能是weight 和backup。       
        server 10.10.10.11:8002 max_fails=3  fail_timeout=5s ; #max_fails 表示健康检查失败的次数,这里表示次数为3次,即标记该服务器down了
       # server 10.18.221.80:8080  weight=2  max_fails=3  fail_timeout=5s backup;#热备配置(RS)节点的高可用,这标志着这个服务器作为备份服务器,若主服务器全部宕机了,就会向它转发请求
       # server 10.18.221.125:80   weight=2  max_fails=3  fail_timeout=5s down;#这标识着服务器永远不可用,这个参数可配合ip_hash使用。
 
        keepalive 64;
 }

 # 前端端口
    server {
        listen       80;
        server_name  xxxxx.com;
 rewrite ^(.*)$  https://$server_name$1 permanent;
 rewrite http://xxxxx.com  https://$server_name/home permanent;
    }
	# ssl端口
    server {
        #listen       80;
        server_name  xxxxx.com;
        listen       443;
        ssl on;
        ssl_certificate     /root/ssl_certificate/server.crt;#配置证书全路径
        ssl_certificate_key  /root/ssl_certificate/server.key;#配置秘钥全路径
        # ssl_client_certificate ca.crt;#双向认证
        # ssl_verify_client on; #双向认证 
        ssl_session_timeout  5m;
        ssl_protocols  SSLv2 SSLv3 TLSv1;
        ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
        ssl_prefer_server_ciphers   on;

  gzip on;
        gzip_min_length 1k;
        gzip_comp_level 9;
        gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
        gzip_vary on;
        gzip_disable "MSIE [1-6]\.";
  root /usr/share/nginx/html;


  charset     utf-8;

        location / {
  #include      uwsgi_params;    #uwsgi_params在nginxconf文件夹下自带,uwsgi_pass一定要跟uwsgi_conf.ini中写的地址完全一致
         #uwsgi_pass   ;
  root html/dist;
  index index.html index.htm;
         try_files $uri $uri/ /index.html;
        }

  location /api {
   #proxy_pass  http://127.0.0.1:8000/;
   proxy_pass  http://xxxxx.com/;
   proxy_set_header   X-Forwarded-Proto $scheme;
   proxy_set_header   Host              $http_host;
   proxy_set_header   X-Real-IP         $remote_addr;
  }


  client_header_buffer_size  128k;
  large_client_header_buffers  4  128k;

  client_max_body_size 500m;

  #缓冲区最大字节

  client_body_buffer_size 500m;



  #代理服务器链接后端服务器的超时时间

  proxy_connect_timeout 600;

  #代理服务器等待后端服务器响应的超时时间

  proxy_read_timeout 600;

  #后端服务器返回数据给代理服务器的最大传输时间

  proxy_send_timeout 600;

  #代理服务器缓冲区大小,客户端的头信息会保存在这里

  proxy_buffer_size 16k;

  #代理服务器有几个缓冲区,最大是多大

  proxy_buffers 4 64k;

  #代理服务器烦方式可以申请更大的缓冲区,Nginx官方推荐为*2即可

  proxy_busy_buffers_size 128k;

  #代理服务器临时文件大小

  proxy_temp_file_write_size 128k;


  location /static {
   alias /home/xxx/dist/;
  }
  location /media {
   alias /home/www/resource/mediafiles/;
  }

 }
  # 后端代理接口,转发至uwsgi的端口
     server {
        listen       8000;
        ssl off;
        server_name  xxxxx.com;
        charset     utf-8;

        location / {
               include uwsgi_params;
                uwsgi_pass 127.0.0.1:9292;
                uwsgi_read_timeout 600;
                uwsgi_send_timeout 600;        # 指定向uWSGI传送请求的超时时间,完成握手后向uWSGI传送请求的超时时间。
                uwsgi_connect_timeout 600;   # 指定连接到后端uWSGI的超时时间。
        }

        client_header_buffer_size  128k;
        large_client_header_buffers  4  128k;

        client_max_body_size 500m;

        #缓冲区最大字节

        client_body_buffer_size 500m;



        #代理服务器链接后端服务器的超时时间

        proxy_connect_timeout 600;

        #代理服务器等待后端服务器响应的超时时间

        proxy_read_timeout 600;

        #后端服务器返回数据给代理服务器的最大传输时间

        proxy_send_timeout 600;

        #代理服务器缓冲区大小,客户端的头信息会保存在这里

        proxy_buffer_size 16k;

        #代理服务器有几个缓冲区,最大是多大

        proxy_buffers 4 64k;

        #代理服务器烦方式可以申请更大的缓冲区,Nginx官方推荐为*2即可

        proxy_busy_buffers_size 128k;

        #代理服务器临时文件大小

        proxy_temp_file_write_size 128k;


        location /static {
   alias /home/xxx/static;
        }
        location /media {
   alias /home/www/resource/mediafiles/;
        }

    }
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值