Nginx的工作模式和模块类型

    xiaoxiao2025-01-31  76

    Nginx的工作模式

    它与前面对应的httpd的prefork、worker、event相比较而言,它的模式就是:

    非阻塞、事件驱动、由一个master进程生成多个worker线程,每个worker响应n个请求。

    所以如果作为Web服务器而言,他总体能够支持的响应并发数等于worker * n;如果生成了10个worker,每个worker能响应1万个,那一共就可以响应10万个。当然了,Nginx没有这么大的能力,因为每一个请求或连接进来我们都得给它一个套接字,因此套接字所谓TCP来讲最大数量端口也只有65535个,在考虑到其它服务在用,它系统在保留一些,所以能使用5万个就不错了。因此Nginx没准在有些极端场景中,据说有人曾经使用Nginx最大支持单机并发达到5.2万个。虽然这是理论值,但是国内有人让它很轻松支持3万个是没问题的。再多就有困难了。 不过还有特别强调的是,在反代模型下,有可能会更少。

    Nginx的模块类型

    Nginx刚才说过它是模块化的,因此有众多模块,那模块类型有哪些呢?无非就这样几个:(在官方文档中是这么分类的)

    核心模块 Standard HTTP modules(标准的http协议模块) Optional HTTP modules(可选的http协议模块) Mail modules 3rd party modules 注意,前四种模块Nginx都自带,第五种模块,也就是所谓的第三方模块我们需要在编译Nginx的时候自己手动指定模块在何处,自己手动指明模块文件。而后在编译时才能把它编译成Nginx的组成部分。

    最新回复(0)