基于Nginx的负载均衡实验,验证不同负载均衡策略。

①首先安装Nginx

进入官网:nginx news

基于Nginx的负载均衡实验,验证不同负载均衡策略。_第1张图片

选择适合自己的版本安装,我选择的是1.18.0版本

安装完成后运行,浏览器中输入localhost,若弹出Nginx欢迎界面则安装成功。

②在nginx目录下打开conf文件,找到nginx.conf文件,以记事本方式打开(或是使用其他编辑软件)。

③为实现负载均衡,需要使用到nginx的upstream模块

这里我使用127.0.0.1:2321和server 127.0.0.1:2322两个IP做服务器

接着修改location后的路径

基于Nginx的负载均衡实验,验证不同负载均衡策略。_第2张图片

 修改并保存,之后对于80端口的访问将通过负载均衡策略分配到2321和2322端口上

④配置并运行js文件

在任意目录下创建js文件,这里我命名为webserver1和webserver2

打开文件,进行内容自定义,监督端口设定和文本编辑基于Nginx的负载均衡实验,验证不同负载均衡策略。_第3张图片

在js文件目录下打开cmd,输入node webserver1.js(需提前安装node),回车后运行http服务器:

 

 同理,服务器2也跑起来:

至此,两个HTTP服务器已经启动完成,下面进行负载均衡实验。

⑤负载均衡策略

1、轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器

修改nginx.conf文件

基于Nginx的负载均衡实验,验证不同负载均衡策略。_第4张图片

 

 之后在cmd执行:nginx -s reload进行重载

对80端口测试:

基于Nginx的负载均衡实验,验证不同负载均衡策略。_第5张图片

可见,以 S1,S2,S1,S2,S1...的顺序进行轮询。

2、指定权重

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

同样修改nginx.conf文件

重载。

测试:

基于Nginx的负载均衡实验,验证不同负载均衡策略。_第6张图片

 可见,S1访问几率明显高于S2

 3、IP绑定 ip_hash

每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器

修改文件:

基于Nginx的负载均衡实验,验证不同负载均衡策略。_第7张图片

 重载。

测试:

4、fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。

修改文件

基于Nginx的负载均衡实验,验证不同负载均衡策略。_第8张图片

 重载。

测试:

基于Nginx的负载均衡实验,验证不同负载均衡策略。_第9张图片

5、url_hash(第三方)
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。

 不是很理解这种策略的实现方式,故没有下文,希望有大佬指导。

你可能感兴趣的:(分布式计算上机,nginx,负载均衡,运维)