初识Nginx
一、公司产品出现瓶颈?
我们公司项目刚刚上线的时候,并发量小,用户使用的少,所以在低并发的情况下,一个jar包启动应用就够了,然后内部tomcat返回内容给用户。
![](https://img.haomeiwen.com/i27493437/849991cd0360edac.png)
但是慢慢的,使用我们平台的用户越来越多了,并发量慢慢增大了,这时候一台服务器满足不了我们的需求了
![](https://img.haomeiwen.com/i27493437/100aea1543c2468a.png)
所以我们横向扩展,又增加了服务器。这个时候几个项目启动在不同的服务器上,用户要访问,就需要增加一个代理服务器了,通过代理服务器来帮我们转发和处理请求。
![](https://img.haomeiwen.com/i27493437/248a297ff7eceb2b.png)
二、什么是Nginx?
Nginx enoine 是一个高性的H1P和反向代web服务器,同时供了MAPPOP3/SMTP务Ngnx是由伊尔赛索取夫为俄罗量第二的Ramoler.u站点(俄文: Pam6nep)开发的,第一个公开版本0.1.0发布于2004年10月4日。2011年6月1日,nginx 1.0.4发布
其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现按好,中国大陆使用nginx网站用户有: 百度、京东、新浪、网易、腾讯、淘宝等。在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站。
Nginx 是一个安装非常的简单、配置文件非常简洁(还能够支持peri语法)、Bu非常少的服务。Ninx 启动特别容易,并且几乎可以做到724不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。
Nginx代码完全用C语言从头写成。官方数据测试表明能够支持高达 50,000 个并发连接数的响应。
三、Nginx作用?
Http代理,反向代理: 作为web服务器最常用的功能之一,尤其是反向代理。
四、正向代理
![](https://img.haomeiwen.com/i27493437/32c269eb24293b7b.png)
五、nginx反向代理
![](https://img.haomeiwen.com/i27493437/5b4e610e291d46db.png)
六、nginx负载均衡的理解
Nginx提供的负载均衡策略有2种:内置策略和扩展策略。
内置策略:轮询,加权轮询,ip hash。
扩展策略,就天马行空,只有你想不到的没有他做不到的。
![](https://img.haomeiwen.com/i27493437/b0c92f5eac8143d1.png)
![](https://img.haomeiwen.com/i27493437/6699116de32b804c.png)
iphash对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题.
![](https://img.haomeiwen.com/i27493437/590c281f394efcb4.png)
七、nginx动静分离
在我们的软件开发中,有些清求是需要后台处理的,有些请求是不需要经过后合处理的(如:css、html、jpg、js等等文件),这些不需要经过后台处理的文件称为静态文件。让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作。提高资源响应的速度。
![](https://img.haomeiwen.com/i27493437/cee0e11ae0084690.png)