1.什么是Nginx?
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔-赛索耶夫为俄罗斯访问量第二的Rambler.ru
站点开发的,第一个公开版本0.1.0发布于2004年10月4日。2011年6月1日,nginx 1.0.4发布。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝
等。在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站。Nginx 是一个安装非常的简单、配置文件非常简洁(还能够支持perl语法) Bug非常少的服务。Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数
个月也不需要重新启动,你还能够不间断服务的情况下进行软件版本的升级。Nginx代码完全用C语言从头写成。官方数据测试表明能够支持高达 50.000个并发连接数的响应
2.Nginx的作用
Http代理,反响代理(作为web服务器最常用的功能之一,尤其是反向代理)
2.1 正向代理
2.2 反向代理
2.3 负载均衡
Nginx提供的负载均衡策略有两种:内存策略和扩展策略。
内存策略为轮询,加权轮询,Ip hash。
扩展策略
2.3.1 轮询
2.3.2 加权轮询
2.3.3 IP Hash
ip hash 对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给
同一台服务器进行处理,可以解决session不共享的问题
2.4 动静分离
动静分离,在我们的软件开发中,有些请求是需要后台处理的,有些请求是不需要经过后台处理的(如:css、html、jpg、js等等文件),这些不需要经过后台处理的
文件称为静态文件。让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其
做缓存操作。提高资源响应的速度。