初识Nginx负载均衡

1.简介

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、新浪、网易、腾讯等。

2.正向代理与反向代理

我们有时候,用自己的计算机A想访问国外的某个网站B,但是访问不了,此时,有一台中间服务器C可以访问国外的网站B,那么,我们可以用自己的电脑访问服务器C,通过C来访问B这个网站。那么这个时候,服务器C称为代理服务器,这种访问方式叫做正向代理。正向代理有一个特点,就是我们明确知道要访问哪个网站。

当我们有一个服务器集中,并且服务器集群中的每台服务器的内容一样的时候,同样我们要直接从个人电脑访问到服务器集中的服务器的时候无法访问,且此时第三方服务器能访问集群,这个时候,我们通过第三方服务器访问服务器集群的内容,但是此时我们并不知道是哪一台服务器提供的内容,此时的代理方式称为反向代理。

3.什么是负载均衡

当一台服务器的单位时间内的访问量越大的时候,服务器的压力会越大。当一台服务器压力大得超过自身的承受能力的时候,服务器会崩溃。为了避免服务器崩溃,让用户有更好地体验,我们通常通过负载均衡的方式来分担服务器的压力。那么什么是负载均衡呢?是这样,我们可以建立很多很多个服务器,这些服务器组成一个服务器集群(每个服务器中的内容是一样的),然后,当用户访问我们网站的时候,先访问一个中间服务器,再让这个中间服务器在服务器集群中选择一个压力较小的服务器,然后将该访问请求引入该选择的服务器。这样,用户的每次访问,都会保证服务器集群中的每个服务器的压力趋于平衡,分担了服务器压力,避免了服务器崩溃的情况。

4.Nginx负载均衡的实现

Nginx是一款可以通过反向代理实现负载均衡的服务器,使用Nginx服务实现负载均衡的时候,用户的访问首先会访问到Nginx服务器,然后Nginx服务器再从服务器集群表中选择压力较小的服务器,然后将该访问请求引向该服务器。若服务器集群中的某个服务器崩溃,那么从待选服务器列表中将该服务器删除,也就是说一个服务器假如崩溃了,那么Nginx就肯定不会将访问请求引入该服务器了。


负载均衡测试:

在centos6.5上安装nginx
(1) wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
(2) rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm
(3) 安装过程会提示错误可以不必理会(warning: nginx-release-centos-6-0.el6.ngx.noarch.rpm: Header V4 RSA/SHA1 Signature, key ID 7bd9bf62: NOKEY)
(4) yum install nginx
(5) 安装成功的话提示: Complete

nginx默认目录
1 配置所在目录:/etc/nginx/
2 PID目录:/var/run/nginx.pid
3 错误日志:/var/log/nginx/error.log
4 访问日志:/var/log/nginx/access.log
5 默认站点目录:/usr/share/nginx/html

nginx 常用命令
1 启动nginx:nginx
2 关闭nginx:nginx -s stop:快速停止nginx
2 重启nginx:killall -HUP nginx
3 测试nginx配置:nginx -t /usr/local/nginx/conf/fzjh.conf
4 以某个配置文件启动nginx:nginx -c /usr/local/nginx/conf/nginx.conf

测试:
在 /etc/nginx/ 目录下新建 fzjh.conf
cd /etc/nginx
touch fzjh.conf
Vi fzjh.conf
打开文件后,编辑出下面内容:
这里写图片描述

圈住的三个ip 分别是腾讯,万网和百度的ip,可以通过如 ping www.baidu.com 的方式来获取。保存文件,然后以此负载均衡配置文件来启动nginx,命令为:nginx -c /etc/nginx/fzjh.conf。接下来,在浏览器上输入:127.0.0.1:8090, 不停的刷新网址,看是否会出现腾讯、百度、万网三个主页切换的效果(nginx根据三个服务器的负载程度来控制切换到哪个服务器)。我在我的centos6.5虚拟机上测试了下,只能出现万网的主页,另外两个有一个拒绝访问了,另外一个没出现,现在还没搞清楚原因,谁搞明白了可以分享下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值