nginx的特点

1、IO多路复用epoll

2、轻量级(代码模块化、功能模块少)

3、cpu亲和

是一种把CPU核心和nginx工作进程绑定方式,把,减少切换CPU的cache miss,获得更好的性能。

(nginx是由多个worker的进程工作,双cpu,每个cpu有4个核心,减少cpu切换时的性能损失)

4、sendfile(nginx处理静态文件是有优势的)

传统的是经过内核空间和用户空间,发生多次切换。如下图


Linux2.2后实现了零拷贝的传输模式,nginx实现了下图模式:


什么是IO复用?

就是让一个socket来作为复用完成整个IO流的请求,实现的方式有其中的一种就是多线程,如图:


串行方式


串行方式

多线程方式


多线程方式

IO多路复用


IO多路复用的概念

多个描述符的I/O操作都能在一个线程内并发交替地顺序完成,这就是I/O 多路复用,

这里地“复用”指的是复用同一线程。

IO多路复用的实现方式select、poll、epoll

线性遍历的模式


Select缺点:

1) 能够监视文件描述符的数量存在最大限制

2) 线性扫描效率低下

Linux2.6后有了epoll模型

1) 每当FD就绪,采用系统的回调函数之间将fd放入,效率更高

2) 最大连接无限制


nginx官方模块

请求限制


设置请求限制

开启这个以后重启

ab -n 20 -c 20http://192.168.150.132/4.html


当使用ab工具执行时,有

Non-2xx responses:     19

表示20 请求有19个是返回的非200的响应

查看日志tail -f /var/log/nginx/error.log


连接限制


nginx的访问控制

基于IP的访问控制  http_access_module

基于用户的信任登录http_auth_basic_module

http_acess_module访问控制




http_auth_basic_module

rpm -qf /usr/bin/htpasswd

yum -y install httpd-tools如果没有上述模块,则安装


htpasswd -c ./auth_conf root

more auth_conf


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Nginx具有以下特点: (1)更快 这表现在两个方面:一方面,在正常情况下,单次请求会得到更快的响应;另一...
    吕艳凯阅读 5,703评论 0 0
  • I/O模型: 阻塞型、非阻塞型、复用型、信号驱动型、异步 同步/异步:关注消息通知机制 消息通知:同步:等待对方返...
    Net夜风阅读 6,083评论 0 1
  • 必备的理论基础 1.操作系统作用: 隐藏丑陋复杂的硬件接口,提供良好的抽象接口。 管理调度进程,并将多个进程对硬件...
    drfung阅读 8,918评论 0 5
  • 作者:黄湘龙 IO在计算机世界中地位举足轻重,IO效率一直是码农们孜孜不倦最求的目标。本文我们一起来研究下Linu...
    TopTools阅读 5,166评论 0 2
  • Nginx才短短几年,就拿下了web服务器大笔江山,众所周知,Nginx在处理大并发静态请求方面,效率明显高于ht...
    松江野人阅读 4,722评论 0 2