Nginx基础学习

架构:没有什么是加一层解决不了的

学习参考狂神说https://www.cnblogs.com/hellokuangshen/p/14334300.html

问题起源

访问服务器时,如果用户比较少,低并发情况下,我们只需要一台服务器便足够了,如下图所示。

但是,随着用户越来越多,访问量也越来越大,这时候一台服务器已经满足不了我们的需求了,如下图所示。

 这时,我们可以多增加几台服务器。用户要访问多态服务器,便需要增加一个代理服务器(因为如果不增加代理服务器的话,用户第一次请求一台服务器,再请求另一台服务器时,另一台服务器不会保存第一台服务器的session,故每次请求都需要登录,很麻烦),如下图所示。代理服务器可以帮助我们接收用户的请求,然后将用户的请求按照规则转发到不同的服务器节点之上。在这个过程中,用户是无感知的,他并不知道是哪个服务器返回的结果。同时,代理服务器还可以按照服务器的性能提供不同的权重选择,例如第一台服务器容量大一些,那我们就希望它的权重大一些。所以我们使用了Nginx。

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 个并发连接数的响应。

Nginx作用

1、反向代理 

  • 正向代理(代理客户端,例如VPN)

  • 反向代理(代理服务器)

2、负载均衡

Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询,加权轮询,Ip hash。

  •  轮询

第一个请求分发给第一台服务器,第二个请求发给第2台服务器......,请求依次分发给各台服务器。

  • 加权轮询

让权重大的服务器处理更多的请求

  • Ip hash

对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题。但是这种会出现一个问题,那就是如果某一台服务器挂了,那么它保存的session也没有了,因此现在更多的使用Redis来解决session共享的问题。

3、动静分离

在我们的软件开发中,有些请求是需要后台处理的,有些请求是不需要经过后台处理的(如:css、html、jpg、js等等文件),这些不需要经过后台处理的文件称为静态文件。让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作。提高资源响应的速度。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值