关闭

Nginx进程模型

时间: 2020-03-15阅读: 523标签: nginx

1.Nginx是多进程 or 多线程 ?

通常情况下:Nginx采用多进程模式,每个woker进程拥有一个主线程去响应处理多个用户请求;同时Nginx支持使用AIO线程池去读取和发送大文件,避免woker进程被堵塞。


2.Nginx多进程单线程

每个woker进程拥有一个主线程,在epoll支持下,采用异步非阻塞方式来处理请求,从而实现高并发;相对于多线程来说:每个请求占用量小,没有上下文切换带来的开销,事件处理十分轻量。
备注:httpd工作方式通常为多线程,每个用户请求独占一个线程,当并发数到达上千的时候,同时会有上千个线程在处理请求,线程带来的内存占用非常大,线程的上下文切换带来的cpu开销也很大


3.Nginx进程设计

Nginx主要采用Master/Woker进程设计的方式:Master进程主要用来管理Worker进程生命周期;Woker进程主要去处理用户请求。

1.多woker进程能充分利用多核系统带来的并发处理能力
2.woker进程高可用:当woker进程挂掉后,master进程能够重新申请创建新的woker进程
3.负载均衡:woker进程间可以通信,从而一个请求的到来可以协商分配到负载较低的woker进程上去处理

备注:我们通常会设置woker进程数量和CPU核数保持一致:CPU亲和性或绑定woker进程到指定cpus上可以避免进程上下文切换带来的开销、cpu资源竞争及cache失效等问题


4.对比Apache

轻量级:Nginx占用更少的内存及资源
抗并发:Apache是同步阻塞型,在高并发下Nginx能保持低消耗高性能
高度模块化:Nginx高度模块化设计使扩展功能更加简单


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/8215

关闭

nginx+php执行请求的工作原理

先了解下常听说的cgi,php-cgi,fastcgi,php-fpm到底是什么关系,帮助了解php的工作原理。cgi协议用来确定webserver(例如nginx),也就是内容分发服务器传递过来什么数据,什么样格式的数据。php-cgi是php的cgi协议进程解释器

nginx 修改 max open files limits

注意:修改 nginx 的 max open files 有个前提,就是你已经修改好了系统的 max open files.先查看 nginx 的 ulimits: 但是还是不够,你这样改了之后,nginx 的并发能力反而会下降,所以还需要改一个关键的参数:

7个令人兴奋的JavaScript新特性

一个ECMAScript标准的制作过程,包含了Stage 0到Stage 4 五个阶段,每个阶段提交至下一阶段都需要TC39审批通过。本文介绍这些新特性处于Stage 3 或者Stage 4 阶段,这意味着应该很快在浏览器和其他引擎中支持这些特性

Nginx 操作响应头信息

前置条件:需要编译 ngx_http_headers_module 模块,才支持 header 头信息操作,add_header意思为将自定义的头信息的添加到响应头,可以声明多个 add_header 指令

nginx http内核模块提供的变量和解释

ngx_http_core_module模块在处理请求时,会有大量的变量,这些变量可以通过访问日志来记录下来,也可以用于其它nginx模块 。顺便对ngx_http_core_module模块提供的变量总结了下,如下所示:

前端如何通过Nginx代理做到跨域访问API接口

Nginx作为反向代理服务器,就是把http请求转发到另一个或者一些服务器上。通过把本地一个url前缀映射到要跨域访问的web服务器上,就可以实现跨域访问。对于浏览器来说,访问的就是同源服务器上的一个url

nginx 配置proxy_pass URL末尾加与不加/(斜线)的区别

nginx在配置proxy_pass的时候 URL结尾加斜线(/)与不加的区别和注意事项,加/斜线的情况;不加/斜线的情况

Web服务器之Nginx

Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供IMAP/POP3/SMTP服务。其特点是占有内存少,并发能力强。如果我们在项目中用到了Nginx,那么可以用如下的示意图表示:

nginx和apache的区别,选择哪个好?

Apache和Nginx最核心的区别在于 apache 是同步多进程模型,一个连接对应一个进程;而 nginx 是异步的,多个连接(万级别)可以对应一个进程

Nginx配置https和wss

常见的服务器有三种:Nginx、IIS、Apache,都可以配置https,但是没必要全部知道,因为Nginx可以起到反向代理的作用,会配置Nginx就足够了。在/etc/nginx/conf.d目录下新建https.conf

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!