Linux下利用nginx简单地做负载均衡(http load balancing)
前言
nginx有很多强大的功能,本篇利用nginx做简单的负载均衡实验。
提示:以下是本篇文章正文内容,下面案例可供参考
一、实验流程图
二、实验步骤
1.准备实验机器
虚拟机都先编译安装好nginx,所需模块ngx_http_upstream_module(有条件的可以多准备几台server)
主机名 | IP地址 |
---|---|
clinet(windows真实机) | 192.168,255.0/24 |
负载均衡器(centos7虚拟机) | 192.168,255.30 |
server1(centos7虚拟机) | 192.168,255.50 |
server2(centos7虚拟机) | 192.168,255.60 |
代码如下(示例):
2.配置和测试
-
先配置负载均衡器:
#进入nginx配置文件,配置nginx.conf [root@load-balancer conf]# vim nginx.conf #在http{}里定义一个负载均衡器 upstream scbackend { server 192.168.255.50; server 192.168.255.60; } #将sever{}里的location里注释 root,index location / { #root html; #index index.html index.htm; #访问网页根目录的时候转发到负载均衡器上 proxy_pass http://scbackend;
退出并保存,重启nginx
可以先去真实机浏览器访问:
如果出现上面了情况,是因为web服务器还没开启(现在只配置了负载均衡器)
-
配置web服务器和测试
通过一键编译安装nginx的脚本,安装了nginx
启动nginx
进入nginx的html目录修改了index.html
继续访问负载均衡器,默认的调度算法是轮询
所以客户机向服务器发送的http请求,先通过负载均衡器再发送到服务器集群,经过调度算法,请求ip不同的服务器