简介
这种方案,使用两个VIP地址,前端使用2台机器,互为主备,同时有两台机器工作,当其中一台机器出现故障,两台机器的请求转移到一台机器负担,非常适合于生产架构环境。
一、网络拓扑
四台虚拟机如下所示:
为什么使用keepalived呢?
使用keepalived就用来做高可用的,提供虚拟VIP
将两台机器上的/etc/keepalived/keepalived.conf配置文件修改成如下:
Nginx-A:
Nginx-B:
然后修改两台机器上的nginx首页
chk_nginx.sh脚本也不用改,然后重启keepalived
3.1 查看服务器上的IP地址
查看Nginx-A的地址:
查看Nginx-B的地址:
会多出两个虚拟IP
首先通过两个VIP地址访问如下:
3.2、关闭Nginx-A上的nginx,keepalived将在2s内将它重新启动
3.3、关闭Nginx-A上的keepalived,VIP会切换到Nginx-B上
不管访问的是:http://192.168.182.157/ 还是http://192.168.182.156/ 都将导到Nginx-B上去。
同时会发现Nginx-A上的虚拟IP会消失
如何实现Nginx的反向代理?
这句话什么意思?
意思是说当客户机来访问服务器的时候,服务器本身并不出面接待,而是将客户的请求转高给手下的子服务器(小弟)负责接待。
比如:你访问www.baidu.com,其实并不时百度总服务器接待的你,而是百度的代理服务器接待的你,不过他们的服务是一样的,提供同样的页面;
如是搭建Nginx服务才能实现这样的效果呢?
搭建一个最简单,最基础nginx代理服务器,需要一台代理服务,两台子服务器,XX台客户机来作验证;
操作流程如下:
第一步、服务器和客户机配好IP地址,其中Nginx代理服务器需要配置两张网卡,两个IP地址,一个和客户机通信,一个和子服务器通信;
代理服务器与客户机和子服务器都分别配置同网段IP地址;
例如:
代理服务器:192.168.4.5 192.168.2.5
子服务器 :192.168.2.100 192.168.2.200
客户机 :192.168.4.10
这样配置的好处是: 可以负载均衡,保障用户的访问体验,保障上网速度,同时也保障了,即便有一台服务器坏掉了,另一台服务可以接待用户访问;
第二步、代理服务器上安装Nginx服务软件,两台子服务器上安装HTTPD服务并写入相应的网页,然后启动服务;
yum -y install httpd ##安装httpd服务;
echo "罗贵" > /var/www/html/index.html ##写一个简单的网页
./configure --user=nginx --group=nginx --with-http_ssl_module
make && make install ##编译安装Nginx
第三步、修改Nginx的配置文件;
vim /usr /local /nginx /conf /nginx.conf
http { ............... ##在文件中找到http开头的行,并在http下面随意找两行添加下面两行的内容;
upstream luogui { ##luogui是集群名字,可以自由定义,upstream 上游的意思;翻译过来就是在上游建立一个名字为luogui的集群,集群中包含下述IP地址;
server 192.168.2.100:80
server 192.168.2.200:80
}
server {
listen 80
server_name www.luogui.com ##域名,可以自由定义;
location ^/.php$ { ##匹配网页地址的意思,匹配以 / 开头.php结尾的网页文件;
proxy_pass http://luogui ##通过proxy代理服务器将用户的请求转发给luogui集群服务器;(注:优先级最高,系统会优先处理这条命令)
}
}
第四步、测试效果;
firefox http://192.168.4.5 或者 本地测试 curl http://192.168.4.5
结果应该是暂停任何一台子服务器,客户机访问网页都没有问题;
以上.......
(EDN)
祝:开心!
罗贵
2019-04-05于深圳
Nginx负载均衡服务器: IP:192.168.0.4(Nginx-Server)Web服务器列表:
Web1: 192.168.0.5(Nginx-Node1/Nginx-Web1)
Web2:192.168.0.7(Nginx-Node2/Nginx-Web2)
实现目的:用户访问Nginx-Server时,通过Nginx负载均衡到Web1和Web2服务器。
配置注释如下:
创建文件夹准备存放配置文件
启动负载均衡服务器192.168.0.4(Nginx-Server)
创建文件夹用于存放web页面
编辑内容如下:
启动192.168.0.5(Nginx-Node1/Nginx-Web1)
创建文件夹用于存放web页面
编辑内容如下:
启动192.168.0.7(Nginx-Node2/Nginx-Web2)
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)