Nginx中的文件异步I/O采用的不是glibc库提供的基于多线程实现的异步I/O,而是由Linux内核实现的。
Nginx信号控制
发表于
|
更新于
|
分类于
Nginx
在生产环境中,Nginx一般采用的是一个master进程,多个worker进程的模型,其中master进程不需要处理网络事件,它不负责业务的执行,只是通过管理worker进程来实现重启服务、平滑升级、更换日志文件、配置文件实时生效等功能,而worker进程则是用来提供服务,如静态文件服务、反向代理等功能。那么Nginx中是如何实现master的重启服务、平滑升级、更换日志文件以及配置文件实时生效的呢?另外,master进程是如何将重启服务、平滑升级、更换日志文件以及配置文件实时生效等告知worker进程的呢?答案是信号。下面将结合代码来看看Nginx是如何实现上述功能的。
slab共享内存使用及其实现原理
发表于
|
更新于
|
分类于
Nginx
在生产环境中,Nginx一般采用的是一个master进程,多个worker进程的模型,这样设计有一个好处,就是服务更加健壮,但是另一方面,如果一个请求分布在不同的进程上,当进程间需要互相配合才能完成请求的处理时,进程间通信的困难就凸显出来,虽然已经有许多进程间通信的方法,但是那些都只适合简单语意的场景,如果进程间需要交互复杂对象,如树、图等,则需要新的进程间通信方式,那就是今天要讲述的slab共享内存。
实例分析set命令及相关脚本引擎
发表于
|
更新于
|
分类于
Nginx
Nginx的ngx_http_rewrite_module模块使用了Nginx的脚本引擎,提供了外部变量的功能,主要是通过set命令进行定义。