Nginx
文章平均质量分 89
快乐的霖霖
一个人默默的奋斗者
展开
-
Nginx的配置与部署及例子
Nginx的配置与部署及例子1. Nginx程序包目前最新的开发版本时1.1.12:Linux/Unix:nginx-1.1.12.tar.gzWindows:nginx-1.1.12.zip我们可以下载稳定版尝试:Linux/Unix:nginx-1.0.11.tar.gzWindows:nginx-1.0.11.zip2. 下载,解压,安装N原创 2013-06-27 16:36:12 · 2073 阅读 · 0 评论 -
Nginx负载均衡问题(客户端请求与Nginx进程间负载均衡)
Nginx负载均衡问题1. 简介 在建立连接的时候,会涉及负载均衡问题。在多个子进程争抢处理一个新连接事件时,一定只有一个worker子进程最终会成功建立连接,随后,它会一直处理这个连接直到连接关闭。那么,如果有的子进程很“勤奋”,它们抢着建立并处理了大部分连接,而有的子进程则“运气不好”,只处理了少量连接,这对多核CPU架构下的应用很不利的,因为子进程之间应该是平等的,原创 2013-07-24 10:07:23 · 1649 阅读 · 0 评论 -
Nginx的超时处理
Nginx的超时处理Nginx事件管理主要是网络事件和定时器事件。下面介绍定时器事件管理,即所谓的超时处理。1. 为什么进行超时处理Nginx有必要对可能发生超时的事件进行统一管理,并在事件超时时作出相应的处理,比如回收资源,返回错误等。举例来说,当客户端对nginx发出请求连接后,nginx机会accept()并建立对应的连接对象、读取额护短请求的头部信息。而读取这个原创 2013-07-23 14:58:36 · 3045 阅读 · 0 评论 -
Nginx惊群问题
Nginx惊群问题1. 简介2. Nginx如何解决惊群问题?原创 2013-07-24 09:31:51 · 1838 阅读 · 0 评论 -
Nginx进程管理
Nginx进程管理1. Nginx进程管理之master进程监控进程充当整个进程组与用户的交互接口,同时对进程进行监护。它不需要处理网络事件,不负责业务的执行,只会通过管理worker进程来实现重启服务、平滑升级、更换日志文件、配置文件实时生效等功能。master进程全貌图(来自阿里集团数据平台博客):master进程中for(::)原创 2013-07-23 20:16:31 · 1966 阅读 · 0 评论 -
Nginx启动初始化流程
Nginx启动初始化流程1. Nginx启动过程的流程图 下面给出Nginx启动过程的流程图,来自《深入理解nginx模块开发与架构解析》一书。2. ngx_cycle_t结构体解析Nginx的启动初始化在src/core/nginx.c的main函数中完成,当然main函数是整个Nginx的入口,除了完成启动初始化任务以外,也必定是所有功能模块的入原创 2013-07-23 18:36:42 · 2201 阅读 · 0 评论 -
nginx一些常用命令
nginx一些常用命令 下面这些操作均基于自己电脑所做。nginx安装在自己的ubuntu操作系统中,目录为/home/chenglin/nginx-1.0.11。1. 启动nginx 2. 查看nginx进程其中:master为主进程,worker为工作进程。3. 停止nginx从容停止Nginx:kill -QUIT 主进程号原创 2013-07-23 10:47:40 · 1142 阅读 · 0 评论 -
Nginx中如何处理stale event
Nginx中如何处理stale event1. 什么是stale event 其实来讲,stale event译为陈旧事件,也就是epoll中处理一批事件时,处理前面的事件可能会关闭一些连接,而这些连接有可能影响这批事件中还未处理到的后面的事件,stale event就是已经过期的事件,所以需要采取措施避免再次处理过期的事件。2. nginx原创 2013-07-23 09:59:14 · 1629 阅读 · 4 评论 -
nginx数组结构ngx_array_t剖析
nginx数组结构ngx_array_t剖析1. 序 nginx自定义了很多数据结构,其中很多的程序都需要用到这些复杂的数据结构,如:数组,链表,红黑树等,在这里可以通过源码看每个数据结构的实现,在博客中不准备针对每个数据结构进行讲解,这里抽取ngx_array_t数组结构。2. 数组结构2.1 ngx_array_t结构 nginx的数组原创 2013-07-20 20:57:07 · 1352 阅读 · 0 评论 -
Nginx源码剖析之内存池,与内存管理
Nginx源码剖析之内存池,与内存管理作者:July、dreamice、阿波、yixiao。出处:http://blog.csdn.net/v_JULY_v/。引言 Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程转载 2013-07-04 20:26:42 · 1289 阅读 · 0 评论 -
nginx模块初始化
nginx模块初始化1. nginx模块介绍 在nginx编译之后,在源代码目录中会出现objs文件夹,里面有ngx_auto_config.h,ngx_auto_headers.h以及ngx_modules.c文件等。 其中,生成的ngx_modules.c文件中,重新集中申明(使用extern关键字)了nginx配置的所有模块,这些模块可通过原创 2013-07-20 22:02:11 · 1635 阅读 · 0 评论 -
nginx 0.8.x中linux aio实现
nginx 0.8.x中linux aio实现 在nginx0.8.x之后加入了linux native aio的支持,我们知道在linux下有两种aio,一种是glibc实现的aio,这个比较烂,它是直接在用户空间用pthread进行模拟的。还有一种就是内核实现的aio,这些系统调用是以io_xxx开始的,而在nginx的0.8 中使用的是后一种,下面我们简称后一种为原创 2013-07-18 22:58:12 · 1381 阅读 · 0 评论 -
利用gdb调试nginx
利用gdb调试nginx1. 打开nginx调试 首先修改/auto/cc/conf文件,将ngx_compile_opt="-c"改为ngx_compile_opt="-c -g". 打开debug模式进行编译,简单操作如下: sudo ./configure –with-debug sudo make原创 2013-07-18 19:26:51 · 1435 阅读 · 0 评论 -
Nginx模块开发实例讲解
Nginx模块开发实例讲解1. Nginx模块介绍Nginx的配置文件是以block的形式组织的,一个block通常使用大括号“{}”表示。block分为几个层级,整个配置文件为main层级,这是最大的层级;在main层级下可以有event、http等层级,而http中又会有server block,server block中可以包含location block。每原创 2013-07-01 09:51:55 · 2818 阅读 · 0 评论 -
nginx无法启动: libpcre.so.1/libpcre.so.0: cannot open shared object file
nginx无法启动: libpcre.so.1/libpcre.so.0: cannot open shared object file原创 2014-04-29 14:12:57 · 3630 阅读 · 0 评论