一、nginx的反向代理与负载均衡理解

一、什么是nginx?

1.nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定,所以现在很多知名的公司都在使用nginx。

二、反向代理服务器有哪些?

Nginx、Lvs、F5、haproxy

三、nginx应用场景

1、http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。

2、虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。

3、反向代理(隐藏真实ip),负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。

四、安装windows版本的nginx

1.下载安装包:nginx-windows.zip

2.解压安装包,双击nginx.exe

3.浏览器访问:127.0.0.1:80(80端口是http默认的端口号)

一、nginx的反向代理与负载均衡理解_第1张图片

五、使用nginx搭建集群

1.图解

一、nginx的反向代理与负载均衡理解_第2张图片

1.1.nginx可以做反向代理、还可以做集群、还可以做分布式。

1.2.集群是怎么做的,使用nginx负载均衡进行轮训分配(区别开反向代理,反向代理解决的是不暴露真实的IP地址),注意下搭建集群的时候先做反向代理,然后再做nginx的 负载均衡,在集群中会产生什么情况,上面图片上有。

1.3.集群与分布式的区别,集群目的是解决了单台服务器的压力,而分布式是将一个项目进行拆分分成n多个子项目,分布式开发目的完成同一大体功能。

2.开始搭建集群

2.1.先搭建反向代理

2.1.1.模拟tomcat代码

一、nginx的反向代理与负载均衡理解_第3张图片

一、nginx的反向代理与负载均衡理解_第4张图片

浏览器访问:

 一、nginx的反向代理与负载均衡理解_第5张图片

2.1.2打开电脑本地的hosts文件

一、nginx的反向代理与负载均衡理解_第6张图片

2.1.3.再次浏览器访问

一、nginx的反向代理与负载均衡理解_第7张图片

2.1.4.端口号我也不让它暴露出来

 cd nginx\conf\nginx.conf

一、nginx的反向代理与负载均衡理解_第8张图片

修改完之后重启nginx

 一、nginx的反向代理与负载均衡理解_第9张图片

2.1.5.浏览器访问:

一、nginx的反向代理与负载均衡理解_第10张图片

上面就是nginx的反向代理的操作过程。 

2.2.再搭建负载均衡(算法:轮训、权重)

2.2.1.轮训(配置完之后重启nginx)

一、nginx的反向代理与负载均衡理解_第11张图片

2.2.1.1.浏览器访问(改了下端口号而已,代码没变进行测试)

一、nginx的反向代理与负载均衡理解_第12张图片

一、nginx的反向代理与负载均衡理解_第13张图片

2.2.2.权重配置(配置完之后重启nginx)

一、nginx的反向代理与负载均衡理解_第14张图片

六、nginx服务器宕机容错机制

1.解决宕机的方法

1.1.nginx配置,集群宕机,自动轮训到下一台服务器。

1.2.使用keepalived重启服务器脚本。

1.3.一主一备。

2.nginx配置,集群宕机,自动轮训到下一台服务器(配置完毕之后重启nginx服务器)

一、nginx的反向代理与负载均衡理解_第15张图片

3.模拟服务宕机,端口8081宕机

一、nginx的反向代理与负载均衡理解_第16张图片

4.这时候浏览器访问只能访问端口8082的服务。

一、nginx的反向代理与负载均衡理解_第17张图片

七、结束

希望能帮到你们,谢谢观看

 

 

你可能感兴趣的:(nginx)