Generic placeholder image
闲敲代码、落灯花
What's past is prologue

联系邮箱:email@hezehua.net


联系QQ:1907330840

座右铭

保持热情,持续学习,每日精进

Nginx进程间通信机制

Nginx进程间通信机制

本文与作者在csdn上的博文【Nginx进程间通信机制】保持同步


1、共享内存
当多个进程共享同一块内存时,在任何一个进程修改了共享内存中的内容后,其它进程通过访问这段共享内存都能够得到修改后的内容。
Nginx通过进程间共享数据的主要方式就是共享内存。
2、套接字
频道是Nginx master进程与worker进程之间通信的常用工具,它是使用本机套接字实现的。
3、信号
信号是非常短的消息,短到只有一个数字,用于传递消息。一个进程可以向另外一个进程或者另外一组进程发送信号消息,通知目标进程执行特定的代码。
Nginx在管理master进程和worker进程时大量使用了信号。


3种同步方式

1、原子操作
2、信号量
信号量和信号不同,它不像信号那样用来传递消息,而是用来保证两个或多个代码段不被并发访问,是一种保证共享资源有序访问的工具。使用信号量作为互斥锁有可能导致进程睡眠,因此,要谨慎使用。
信号量提供的用法非常多,但Nginx仅把它作为简单的互斥锁来使用。
3、文件锁
Nginx框架封装了3个方法,提供给Nginx模块使用文件互斥锁来保护共享数据。

猜你喜欢
nginx之反向代理服务器
阅读 150

本文摘抄自: 《深入理解Nginx 模块开发与架构解析》 反向代理(reverse proxy)方式是指用代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络中的上游服务器,并将从上游服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外的表现...

nginx之虚拟主机与请求的分发
阅读 250

由于IP地址有限,因此经常存在多个主机域名对应同一个IP地址的情况,这时nginx.conf中就可以按照server_name(对应用户请求中的主机域名)并通过server块来定义虚拟主机,每个server块就是一个虚拟主机,它只处理与之相对应的主机域名请求。这样,一台服务器上的nginx就能...

配置虚拟主机
阅读 170

server { listen 8080; server_name localhost; location / { root /xxx/xxx/wordpress; index inde...

Nginx架构设计
阅读 180

1、Nginx是高度模块化设计的 2、Nginx模块化设计的特点 (1)高度抽象的模块接口 (2)模块接口非常简单,具有很高的灵活性 (3)配置模块的设计 (4)核心模块接口的简单化 (5)多层次、多类别的模块设计 3、所有模块都遵循同样的ngx_module_t接口设计规范 4、...

网站配置CDN的艰辛历程
阅读 203

以前就想着配置cdn了,但是一直配置不得法,添加完配置也没有生效,这两天认真研究了一下,终于解决了。 首先是在阿里云上的cdn配置: 加速域名:image.aaa.com,就是让网站访问图片的域名 回源域名:bbb.com,就是能真实访问到图片资源的域名,不过由于我的图片路径是IP访问的,我配置...

nginx之worker进程个数
阅读 225

nginx.conf配置文件中有一个worker_processes配置项,默认配置为: worker_processes 1 worker进程的数量会直接影响性能。 每一个worker进程都是单线程进程,它们调用各个模块以实现多种多样的功能,如果这些模块确认不会出现阻塞式...

nginx配置静态资源允许跨域访问
阅读 207

在server模块中添加配置: add_header 'Access-Control-Allow-Origin' '*'; 例: server { listen 80; add_header 'Access-Control-Allow-...