1.实现效果:
(1)在浏览器地址输入地址:http://ip地址/edu/a.html,负载均衡效果,平均8080和8081端口中
2.准备工作
(1)准备两台tomcat服务器,一台是8080,另外一台是8081。
(2)在两台tomcat里面webapps目录中,创建名称是edu文件夹,在edu文件夹中创建页面 a.html,用于测试。
3.在nginx的配置文件中进行负载均衡的的配置。
在http模块介入以下内容:
http {
include 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 logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
upstream myserver{
server localhost:8080;
server localhost:8081;
}
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://myserver;
root html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
测试结果
4.Nginx分配服务器的策略。
随着互联网信息的爆炸式增长,负载均衡已经不再是一个陌生的话题,顾名思义,负载均衡即是将负载分摊到不同服务单元,既能保证服务的可用性,又保证相应足够块,给用户很好的体验。快速增长的访问量和服务流量催生了各式各样的负债均衡产品,很多专业的负债均衡硬件提供了很好的功能,但却价格不菲,这使得负均衡软件大受欢迎,nginx即时其中一个,在linux下有nginx,LVS,Haproxy等等服务可以提供负载均衡服务,而且nginx提供了几种分配方式。
1、轮询(默认)
每个请求按时间顺序逐一分配到不同的服务器,如果后端服务器down掉,能自动剔除。
2、weight
Weight代表权重,默认为1,权重越高被分配的客户端而也就越多。
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均衡的情况。
server 192.168.2.133:8080 weight=5;
server 192.168.2.133:8081 weight=10;
3.ip_hash
每个请求按访问的ip的hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决session共享问题。例如:
Ip_hash
server 192.168.2.133:8080 ;
server 192.168.2.133:8081;
4.fair(第三方)
按照后端服务器的响应时间来分配请求,相应时间短的的有限分配。
server 192.168.2.133:8080 ;
server 192.168.2.133:8081;
fair