(补)高并发学习(三)Nginx优点、配置文件详解、搭建。

注意:Nginx安装,在前面Linux软件安装中的编译安装已完成。用的是Tengine,并发量可以达到20W

一、前言

    我们知道单个JVM支持的并发在1000左右。单个tomcat支持的最大并发在600左右,超过600开始出现异常。即便经过调优也仅在千级别上。我们前面的介绍的LVS能负载10万左右并发,但是,LVS并不对URI进行解析。既如果他直接分发给tomcat,这些tomcat都是一致的。而Nginx最大支持5万并发,可以对URI进行解析,分发给不同的tomcat(集群)。

多于10万并发?那么建立多个数据中心,然后动态DNS解析分给不同数据中心。

二、Nginx与Apache(Httpd)区别

1、轻量级。占用内存、资源更少。

2、抗并发。Nginx处理请求是异步非阻塞的,Apache是阻塞性的。高并发下保持低资源低消耗

3、配置简洁。

4、核心区别:Apache是同步多进程(一个连接一个进程)、Nginx是异步(万级别的多个连接使用一个进程)。

敲黑板 !!balabala:首先,多进程的切换运行(单核CPU为例):同一时间片只有一个进程在运行,既内存向CPU写数据,CPU进行计算,当下一个时间片时,终止这个进程(数据不再写入CPU),同时将进程当前状态存入内存,同时内存中事件中断码中有个callback函数(kernel注册的内存调度程序),调度程序从待运行进程队列中选出下一个进程。读取恢复此进程保存的状态,然后让CPU读取、运算第二个进程中的指令。所以,多进程的缺点就是,内核接管CPU的时间增大及CPU与内存间的IO增多,通俗点就说使用资源更多、占用内存更多。

三、Nginx配置文件nginx.conf梳理:

1、Nginx工作进程数,可以不动,官方推荐CPU有几核就填几。高版本Nginx会是自动设置的.

2、,代表以当前配置启动nginx,worker_process进程的用户。根据这里设置权限。

注意:nginx是主从架构,支持热配置,更改配置后会开启新的worker_process,然后根据新配置运行如下图

3、每个worker_process的最大连接数。注意:

 

--------进入http模块

4、请求的先给到内核空间kernel,kernel再给到用户空间的Nginx,IO请求资源时,底层还是kernel请求资源到内核空间,再给到用户空间的内存。然后再给kernel,然后通过网卡发出去到请求者。

设置了这个后,IO请求资源,kernel请求资源到内核空间,后通过网卡发出去到请求者

5、不缓存,直接调用。

6、请求连接存活时间。

7、相应数据压缩(数据规整可达到1::10)。客户端要解压。

------server模块

ps:睡醒再来~~~~

注意:可以配置多个server.Nginx会跟据IP、HOST、PORT来决定server.

然后再根据URI匹配location的URI。

8、location 匹配URI规则。示例:

前四个代表非正则匹配 这类先执行。^~代表禁止正则,匹配上这个就不会再匹配正则。= 代表严格匹配,匹配上后也不会再匹配正则的location。但是如果正则和其他的同时都匹配上了,会执行正则所在的location.

且普通的location匹配顺序与location的编写顺序无关。但是正则得location是有顺序的,只要此location匹配上了,就不会执行后面的匹配。

9、proxy_pass 将匹配到的请求代理到哪里。

效果:

但是注意图中我在ip后面加了个/ ,加了/ 代表比如 /ooxx/a.html请求来之后会代理到192.168.231.12/a.html路径。

不加/ 代表会代理到192.168.231.12/ooxx/a.html

10:、上面是反向代理,这里配置下负载均衡:

注意,这里有个隐喻,域名解析顺序会先在文件中找upstream定义的、再去host、再去网络解析。

另一个角度也意味着,不配置upstream,在host文件多ip配置同别名 Nginx也可实现负载效果。当然如果在dns服务器中进行相关配置也可达到效果。

 

最后要解决下session一致性问题。以memcached 为例(实际中使用Redis较多,后面会单独介绍redis)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值