久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網
      最全最豐富的資訊網站

      CentOS上配置Nginx+uWSGI+負載均衡詳解

      負載均衡在服務端開發(fā)中算是一個比較重要的特性。因為Nginx除了作為常規(guī)的Web服務器外,還會被大規(guī)模的用于反向代理后端,Nginx的異步框架可以處理很大的并發(fā)請求,把這些并發(fā)請求hold住之后就可以分發(fā)給后臺服務端(backend servers, 后面簡稱backend)來做復雜的計算、處理和響應,并且在業(yè)務量增加的時候可以方便地擴容后臺服務器。

      說白了就是,隨著業(yè)務和用戶規(guī)模的增長,僅僅一臺服務器無法肩負起高并發(fā)的響應,所以需要兩臺以上的服務器共同分擔壓力,而分擔壓力的媒介就是萬能的Nginx。  

      CentOS上配置Nginx+uWSGI+負載均衡詳解

      首先,利用wsgi在不同的端口上起兩個Django服務,比如8000和8001(不用啟動nginx服務)

      然后修改nginx網站配置,將原uwsgi_pass注釋,改成變量綁定

      server {      listen       8000;      server_name  localhost;        access_log      /root/myweb_access.log;      error_log       /root/myweb_error.log;          client_max_body_size 75M;        location / {          include uwsgi_params;          uwsgi_pass mytest;          #uwsgi_pass 127.0.0.1:8001;         uwsgi_param UWSGI_SCRIPT video_back.wsgi;          uwsgi_param UWSGI_CHDIR  /root/video_back;      }          location /static {          alias /root/video_back/static;      }        location /upload {          alias /root/video_back/upload;      }      error_page   500 502 503 504  /50x.html;      location = /50x.html {          root   /usr/share/nginx/html;      }  }  server {      listen       80;      server_name  localhost;        access_log      /root/video_vue_access.log;      error_log       /root/video_vue_error.log;            client_max_body_size 75M;          location / {          #include uwsgi_params; # uwsgi_pass 127.0.0.1:8000; #uwsgi_pass mytest;          root /root/video_vue;          index index.html;          try_files $uri $uri/ /index.html;        }        location /static {          alias /root/video_vue/static;      }        error_log    /root/video_vue/error.log    error;    }

      然后修改主配置文件 vim /etc/nginx/nginx.conf,在http配置內添加負載均衡配置

      user  root;  worker_processes  1;    error_log  /var/log/nginx/error.log warn;  pid        /var/run/nginx.pid;      events {      worker_connections  1024;  }      http {      include       /etc/nginx/mime.types;      default_type  application/octet-stream;        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';        access_log  /var/log/nginx/access.log  main;        sendfile        on;      #tcp_nopush     on;       keepalive_timeout  65;        #gzip  on;       include /etc/nginx/conf.d/*.conf;      upstream mytest {      server 39.106.172.65:8000 weight=3;  #負載均衡服務器群      server 39.97.117.229:8001 weight=7;          }  }

      然后重啟服務即可: 

      systemctl restart nginx.service 
      值得注意的是常用的負載均衡策略有以下幾種:  1、輪詢(默認)  每個請求按時間順序逐一分配到不同的后端服務器,如果后端服務器down掉,能自動剔除。    upstream backserver {      server 192.168.0.14;      server 192.168.0.15;  }      2、權重 weight  指定輪詢幾率,weight和訪問比率成正比,用于后端服務器性能不均的情況。    upstream backserver {      server 192.168.0.14 weight=3;      server 192.168.0.15 weight=7;  }      3、ip_hash( IP綁定)  上述方式存在一個問題就是說,在負載均衡系統(tǒng)中,假如用戶在某臺服務器上登錄了,那么該用戶第二次請求的時候,因為我們是負載均衡系統(tǒng),每次請求都會重新定位到服務器集群中的某一個,那么已經登錄某一個服務器的用戶再重新定位到另一個服務器,其登錄信息將會丟失,這樣顯然是不妥的。    我們可以采用ip_hash指令解決這個問題,如果客戶已經訪問了某個服務器,當用戶再次訪問時,會將該請求通過哈希算法,自動定位到該服務器。    每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個后端服務器,可以解決session的問題。    upstream backserver {      ip_hash;      server 192.168.0.14:88;      server 192.168.0.15:80;  }      4、fair(第三方插件)  按后端服務器的響應時間來分配請求,響應時間短的優(yōu)先分配。    upstream backserver {      server server1;      server server2;      fair;  }      5、url_hash(第三方插件)  按訪問url的hash結果來分配請求,使每個url定向到同一個后端服務器,后端服務器為緩存時比較有效。    upstream backserver {      server squid1:3128;      server squid2:3128;      hash $request_uri;      hash_method crc32;  }

      贊(0)
      分享到: 更多 (0)
      網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號