试用负载均衡

来源:互联网 发布:一元包邮 淘宝 编辑:程序博客网 时间:2024/05/16 15:45

负载均衡范例:

www.jz123.cn/text/1124012.html


#############################

首先是配置十分的简单,而且功能非常强大。真是相见恨晚。先来看看配置文件怎么写吧

  1. worker_processes 1;  
  2. events {  
  3. worker_connections 1024;  
  4. }  
  5. http{  
  6. upstream myproject {  
  7. #这里指定多个源服务器,ip:端口,80端口的话可写可不写  
  8. server 192.168.43.158:80;  
  9. server 192.168.41.167;  
  10. }  
  11. server {  
  12. listen 8080;  
  13. location / {  
  14. proxy_pass http://myproject;  
  15. }  
  16. }  

Nginx负载均衡有哪些功能呢?

如果后面的服务器其中一台坏了,它能自动识别,更牛的是它好了之后Nginx可以马上识别服务器A和B,如果A的响应时间为3,B的响应时间为1,那么Nginx会自动调整访问B的概率是A的3倍,真正做到Nginx负载均衡好的,安装完成了。

Nginx负载均衡


     server {
       listen       80;
       server_name  www.xxxx.cn;   #前端域名或IP
       location /
          {
            expires 15d;
            root /data0/htdocs/proxy_www.xxx.cn;
            proxy_store on;
            proxy_store_access user:rw group:rw all:rw;
            proxy_temp_path /data0/htdocs/proxy_www.xxx.cn;
            proxy_redirect          off;
            proxy_set_header        Host www.xxx.cn; #访问域名或ip
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            client_max_body_size    10m;
            client_body_buffer_size 1280k;
            proxy_connect_timeout   900;
            proxy_send_timeout      900;
            proxy_read_timeout      900;
            proxy_buffer_size       40k;
            proxy_buffers           40 320k;
            proxy_busy_buffers_size 640k;
            proxy_temp_file_write_size 640k;
            #if ( !-e $request_filename)
               #{
                  proxy_pass  http://www.rax.cn; #后端服务器ip地址
               #}
          }
       }

参数解释:

proxy_set_header X-Real-IP $remote_addr;配合这个把真实的ip 发送给 转发的web服务器要不 的话 接收请求的 收到的请求ip都是 nginx这台的 

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header和X-Forwarded-For

意思是增加一个$proxy_add_x_forwarded_for到X-Forwarded-For里去,由于默认是空,所以也可以理解为change,但是切记不要搞乱

X-Forwarded-For: client1, proxy1, proxy2

The X-Forwarded-For (XFF) HTTP header is a de facto standard for identifying the originatingIP address of a client connecting to aweb server through anHTTPproxy orload balancer. This is a non-RFC-standard request header which was introduced by the Squid caching proxy server's developers.

这是一个squid开发的,用于识别通过HTTP代理或负载平衡器原始IP一个连接到Web服务器的客户机地址的非rfc标准,如果有做X-Forwarded-For设置的话,

每次经过proxy转发都会有记录,格式就是client1, proxy1, proxy2,以逗号隔开各个地址

由于他是非rfc标准,所以默认是没有的,需要强制添加

在默认情况下经过proxy转发的请求,在后端看来远程地址都是proxy端的ip



原创粉丝点击