Nginx
zwleagle
这个作者很懒,什么都没留下…
展开
-
The Architecture of Nginx阅读摘要
原文 : http://www.aosabook.org/en/nginx.htmlNginx架构图Nginx worker线程数的原则: General recommendations might be the following: if the load pattern is CPU intensive—for instance, handling a原创 2012-10-25 10:30:22 · 632 阅读 · 0 评论 -
NGINX避免惊群和负载均衡
NGINX避免epoll_wait出现惊群比较简单,就是NGINX自己维护一个互斥变量ngx_accept_mutex; 每次需要从端口接收数据前都要尝试取获取(ngx_trylock_accept_mutex)这个互斥量;如果获得了就将本进程的监听句柄增加到epoll_wait等待队列中;这样就保证了每次都只有一个经常处于监听事件等待队列中,如果有新的连接进来也操作系统也只会唤醒一个进程取处理.原创 2013-04-06 16:06:05 · 827 阅读 · 0 评论 -
NGINX UPSTREAM
Upstream主要用来实现webserver和后台服务器的进行通信; 接受来自client的请求,创建一个upstream连接到后台服务器,并将client请求转发给后台服务器; 接受后台服务器的响应,并构造响应给client. Upstream主要是在NGINX的NGX_HTTP_CONTENT_PHASE执行的,即在ngx_http_core_content_phase中,如果r->原创 2013-04-03 19:15:26 · 2508 阅读 · 0 评论 -
PCRE接口pcre_fullinfo混合子模式调用结果
NGINX中使用PCRE最为正则表达式的解析接口,对编译和解析过程中的一些点进行了测试验证PCRE接口pcre_fullinfo()的描述在这个链接中有详细的描述,这里对接口的一些链接 http://mushclient.com/pcre/index.html这里描述一下命名子模式(named subpattern)和非命名子模式(numbering subpatter原创 2013-02-01 15:59:22 · 2493 阅读 · 0 评论 -
学习NGINX一些摘要_rewrite
参考: http://www.feifeicms.com/thread-99987-1-1.html;http://blog.cafeneko.info/2010/10/nginx_rewrite_note/1. "location / {}"和"location = / {}"的区别:"location / {}"遵守普通location 的最大前缀匹配,由于任何 URI 都必然原创 2013-02-01 15:38:41 · 766 阅读 · 0 评论 -
Nginx Rewrite研究笔记
很好的一份描述rewrite的文章http://blog.cafeneko.info/2010/10/nginx_rewrite_note/在新主机的迁移过程中,最大的困难就是WP permalink rewrite的设置.因为旧主机是用的Apache, 使用的是WP本身就可以更改的.htaccess,没有太大的难度.而这次在VPS上跑的是Nginx,主要是转载 2013-01-25 15:30:17 · 526 阅读 · 0 评论 -
Nginx 哈希
1. Nginx哈希中的存储数据区是一个大的数组; 每个key指向的存储数据区大小在初始化时就已经分配好了, Nginx哈希大小是不可以改变的, 即不支持数据的增减,只是在初始化完成后用于查询.2. Nginx数据中用于存储的字符串都是转化为小写, 因此用Nginx哈希查询时,需要将相应的字符串先转化为小写。3. 由于哈希的存储区是大数组, 并且每个桶对应的区域大小固定,原创 2012-11-12 10:57:54 · 796 阅读 · 0 评论 -
Nginx监听端口的数据结构(1.3.7)
在main configure上:ngx_http_core_main_conf_t |---> prots: 监听的端口号的数组: 在ngx_http_add_listen中创建, 相同的端口号和相同的family(族), 放到同一个ngx_http_conf_port_t的addrs数组中 |---> ngx_http_conf_port_t:原创 2012-11-26 19:21:04 · 559 阅读 · 0 评论 -
nginx配置信息的解析流程
原文链接http://lenky.info/2011/09/09/nginx%E9%85%8D%E7%BD%AE%E4%BF%A1%E6%81%AF%E7%9A%84%E8%A7%A3%E6%9E%90%E6%B5%81%E7%A8%8B-3/这一系列的文章还是在09年写的,存在电脑里很久了,现在贴出来。顺序也不记得了,看到那个就发那个吧,最近都会发上来。欢迎转载,转载 2012-11-07 15:53:00 · 869 阅读 · 0 评论 -
NGINX(1.3.7)代码学习:内存池
内存池数据结构:struct ngx_pool_s { ngx_pool_data_t d; //表示数据区域 size_t max; //内存池能容纳数据的大小 ngx_pool_t *current;//当前内存池块(nginx中的内存池是又一连串的内存池链表组成的, current表示当前用于原创 2012-11-06 13:52:02 · 576 阅读 · 0 评论 -
NGINX(1.3.7)代码学习: 动态数组
动态数组结构: struct ngx_array_s { void *elts; //数组起始地址 ngx_uint_t nelts; //已经使用的个数 size_t size; //每个数据的大小, 即数组元素的大小 ngx_ui原创 2012-11-02 17:39:36 · 623 阅读 · 0 评论 -
NGINX模块的功能
未完待续:有几个阶段是特例,它不调用挂载地任何的handler,也就是你就不用挂载到这几个阶段了NGX_HTTP_FIND_CONFIG_PHASENGX_HTTP_POST_ACCESS_PHASENGX_HTTP_POST_REWRITE_PHASENGX_HTTP_TRY_FILES_PHASE只有下面这几个phase会有多个handler,剩余的都是原创 2013-04-23 10:12:44 · 780 阅读 · 0 评论