1.Nginx介绍:
先装一拨儿来段官方术语(来自百科):Nginx(engine x)是一个高性能的HTTP和反向代理服务器。也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔.塞索耶弗为俄罗斯访问量第二的Rambler.ru站点开发的,第一公开版本0.1.0发布于2004年10月4日。
其源代码以类BSO许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx1.0.4发布。
Nginx是一款轻量级的web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
2.特点
1.耗费的资源比tomcat更少
2.nginx能够支持50000次并发.
3.实现负载均衡和反向代理
3.反向代理介绍
反向代理方式是指以代理服务器来接受internet上的链接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
下图是我项目中使用Nginx反向代理的过程。
4.nginx下载
http://nginx.org/en/download.html
5.nginx入门
1.以管理员身份运行安装包下的nginx.exe文件
2.检查nginx是否启动
一次启动2个进程,其中一个是主进程,一个是守护进程。
3.nginx的启动命令
- 重启命令:nginx -s reload
- 停止命令:nginx -s stop
- 启动命令:start nginx
6.负载均衡的介绍
-
先说说传统结构的弊端
说明:
1.传统的设备搭建时,如果采用单台服务器.则会出现很多的问题.如果服务器出现宕机/断电/硬件设备的损坏,都会直接影响用户 体验.
2.如果传统项目中遇到了高并发的情况.单台服务器不足以支持
-
分布式的处理
说明:
由原来的单台服务器.现在变成了多台服务器.如果其中一台服务宕机.不影响其他服务器的使用.在一定程度上实现了高可用.
策略:通过nginx服务器.动态的将请求转发到不同的服务器上实现了分布式的部署.
分布式的部署,可以有效的防止高并发
- 多台服务器部署
准备工作:
window部署:
127.0.0.1:8091:tomcat1
127.0.0.1:8092:tomcat2
127.0.0.1:8093:tomcat3
修改端口号:
修改端口号一共需改3处
说明:
首台服务器只需要修改8080,后续服务器端口号一次加一
- nginx实现分布式部署和负载均衡
负载均衡的机制:
1.默认的条件下采用的是轮询的机制
2.权重的配置
通过weight属相,可以配置权重
3.ip_hash ip动态的绑定
会根据ip地址动态的绑定一台服务器.只要以后这个ip地址发起请求.就会指向固定的服务器.
优点:实现session的共享.用户只需登录一次.
缺点:有session黏着问题.
4.备用机机制
由于主服务器不能及时响应,这时备用机就会代替主服务提供响应.
5.IPHash与proxy_pass的区别
IPhash是分布式的配置.虽然能够将ip地址和服务器进行动态的绑定.但是由于ip地址是动态的,那么最终算出的结果是多样 的,尽可能的分配到不同的服务器上.
Proxy_pass:
这是nginx的代理的转向,只能转向单台服务器.没有分布式的功能.