现在负载均衡有很多产品. LVS也是一个不错的产品,但是它的网络拓扑结构比较复杂.我觉的不是一个完美的东西.haporxy真的很不错,性能还是比较强的.如果不要求支持vhost,单一的负载功能可以使用haporxy. 如果同时要求支持vhost,还想要一些其它功能.那就推荐用nginx(开源中,发展不错的一个产品).另外,我也见过有人用一台Squid在前面,后面放了N台RealServer,这种架构,实在有点晕.如果后面的一台机器死掉,前面就影响使用了.先来看一下Nginx负载均衡的功能: 1 能把负载传递给后端的机器. 2 后面的机器任何一个死掉不影响前面正常服务. 上面是最基本的. 3 实现内容缓存,加速的功能(F5)的作用. 4 实现动静内空分离看看上面的功能,简直太牛X了.而且拓扑结构简单.关于niginx http://nginx.net/ nginx [engine x] is a HTTP server and mail proxy server 而且是基于BSD许可协义的. 现在稳定版是: nginx-0.6.32 http://sysoev.ru/nginx/nginx-0.6.32.tar.gz 如果需要正则支持请安装pecl库.这里只做Proxy,所以不安装了. #tar zxvf nginx-0.6.32.tar.gz #cd nginx-0.6.32 #./configure --prefix=/usr/local/nginx \ --user=nobody \ --group=nobody \ --without-poll_module \ --with-http_stub_status_module \ --with-http_gzip_static_module \ --with-http_realip_module#为了高效的性能一般使用epoll. #make && make install #make clean #cd /usr/local/nginx/conf #vim nginx.conf like =======================================================user nobody; worker_processes 10;error_log /logs/error.log; #定义出错的log#pid logs/nginx.pid; events { use epoll; worker_connections 65535; } http { include mime.types; default_type application/octet-stream; access_log off; #关闭了access log.也可以去打开. sendfile on; #tcp_nopush on; keepalive_timeout 65; #压缩传输,减少带宽. gzip on; gzip_min_length 1k; gzip_buffers 4 8k; gzip_http_version 1.1; gzip_types text/plain application/x-javascript text/css text/html application/xml image/jpeg image/png image/gif; upstream backend{ server 192.168.1.100:80 weight=1; server 192.168.1.1001:80 weight=1; #weight是权重,如果想往那台机器多分点流量,就加大那个数字吧. } server { listen 80; server_name www.it.net.cn; location / { #internal; proxy_pass http://backend/; #proxy_store on; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; index index.html index.php index.htm; } location /NginxStatus { stub_status on; access_log on; auth_basic "NginxStatus"; } } } ===================================================================== 保存. /usr/local/nginx/sbin/nginx -t 去测试配置文件是不是正确. 如果确就可以启动了. /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf&重启: killall -HUP nginx 这样就可以实现简单的负载均衡功能.增加文件的Header头,让缓存到客户端,添加到server段中 location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico)$ { root /data3/i.okooo.com; index index.php; access_log off; expires 14d; } (责任编辑:IT) |