1,本地虚拟机安装好环境,我的是lnmp,虚拟机访问正常(关于如何安装环境就不一一介绍,自行百度)
2,从第一台安装好的主机克隆三台虚拟机
如图:
my_linux为我的第一台主机,其他三台是克隆的(一主三辅)
主服务器:192.168.110.129
辅服务器:192.168.110.131
192.168.110.132
192.168.110.133
3,了解一下nginx负载的5种模式
nginx的负载均衡有5种模式:
1)、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
2)、weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
3)、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
4)、fair (第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
5)、url_hash(第三方)
根据请求的url的hash值将请求分到不同的机器中,当后台服务器为缓存的时候效率高
4,在本地host文件中配置测试域名
192.168.110.129 www.my_linux.com
5,在主服务器查找nginx.conf文件
打开:vim /usr/local/nginx/conf/nginx.conf
以下使用轮询方式负载
在配置文件中添加如图代码
使用轮询方式负载均衡
upstream www.my_linux.com {
server 192.168.110.131:80;
server 192.168.110.132:80;
server 192.168.110.133:80;
server 127.0.0.1:80;
}
注意:proxy_pass 后面域名和upstream 配置相同
location / {
proxy_pass http://www.my_linux.com;
root html;
index index.html index.htm index.php;
}
保存退出:wq
重启nginx/usr/local/nginx/sbin/nginx -s reload
修改nginx下html文件,增加一行每台主机的ipvim /usr/local/nginx/html/index.html
浏览器访问www.my_linux.com
如图:
每刷新一次,ip都在变,说明轮询成功
权重负载代码,服务器性能越好,可分配更大权重。weight越大,被访问几率越大
upstream www.my_linux.com {
server 192.168.110.129 weight=1;
server 192.168.110.132 weight=2;
server 192.168.110.131 weight=3;
server 192.168.110.133 weight=4;
}
ip_hash
upstream www.my_linux.com {
ip_hash;
server 192.168.110.131:80;
server 192.168.110.132:80;
server 192.168.110.133:80;
}
fair
upstream www.my_linux.com{
server 192.168.110.131;
server 192.168.110.132;
server 192.168.110.133;
fair;
}
url_hash
upstream www.my_linux.com {
server 192.168.110.131:80;
server 192.168.110.132:80;
server 192.168.110.133:80;
hash $request_uri;
hash_method crc32;
}