目录
1.什么是Nginx?
2.为什么学习Nginx?
2.1现实生活中的案例
2.2web系统架构变迁中遇到的问题
1. 单体服务架构:
2. 应用服务集群架构
3. 微服务架构
2.3如何解决这些问题?
3.Nginx作用
3.1 正向代理
3.2 反向代理
3.3反向代理之负载均衡
3.4反向代理之动静分离
1.什么是Nginx?
1、 Nginx ("engine x") 是一个高性能的 静态HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP代理服务器。
2、 第一个公开版本0.1.0发布于2004年10月4日。
3、 其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名
4、 官方测试nginx能够支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定
5、 2011年6月1日,nginx 1.0.4发布。
6、 事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:新浪、网易、腾讯、阿里、土豆网、唯品会、京东、360、优酷等。
2.为什么学习Nginx?
2.1现实生活中的案例
2.2web系统架构变迁中遇到的问题
1. 单体服务架构:
2. 应用服务集群架构
3. 微服务架构
2.3如何解决这些问题?
1. 购买硬件负载均衡服务器,问题是需要花钱,价格不菲。
2. LVS(OSI 七层模型第四层“传输层“),配置复杂,使用难度高。
3. Nginx可以有效解决高并发的问题,那么什么是Nginx呢?
3.Nginx作用
- 搭建虚拟主机
- 服务的反向代理
- 在反向代理中配置集群的负载均衡
- 在反向代理中配置集群的动静分离
- 代理服务器根据其代理对象的不同,可以分为正向代理服务器与反向代理服务器。这里的“正”与“反”
- 均是站在客户端角度来说的。
3.1 正向代理
正向代理是对客户端的代理。客户端 C 想要从服务端 S 获取资源,但由于某些原因不能,直接访问服务端,而是通过另外一台主机 P 向服务端发送请求。当服务端处理完毕请求后,将响应发送给主机 P,主机 P 在接收到来自服务端的响应后,将响应又转给了客户端 C。此时的主机 P,就称为客户端 C 的正向代理服务器。
客户端在使用正向代理服务器时是知道其要访问的目标服务器的地址等信息的。正向代理服务器是为服务用户(客户端)而架设的主机,与服务端无关,对服务器端透明。
3.2 反向代理
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
3.3反向代理之负载均衡
3.4反向代理之动静分离