【14】Nginx
文章平均质量分 71
_小青年儿_
优秀是一种习惯
展开
-
Nginx定时器机制的实现
nginx提供一套高效的定时器实现,除了nginx核心能够使用定时器以外,我们在进行模块开发的时候也可以使用定时器来完成一些定时执行的任务。nginx定时器实现的核心是使用一棵红黑树来存储各个定时事件,每次循环的时候就从这棵树里找出超时的事件,然后一一触发,完成定时任务操作。下面简单的描述一下nginx在实现定时器时的几个关键点。本文是基于linux的epoll来描述的定时器实现。原创 2015-01-11 09:44:52 · 1078 阅读 · 1 评论 -
ngx.timer.at(0, func)
ngx.timer.at syntax: ok, err = ngx.timer.at(delay, callback, user_arg1, user_arg2, …) The first argument, delay, specifies the delay for the timer, in seconds. One can specify fractional seconds li原创 2015-07-17 15:17:08 · 5901 阅读 · 0 评论 -
NGX打印日志时对特殊字符的转码
问题: [root@3WR ~]# curl -svo /dev/null test/ -x 127.0.0.1:9711 日志打印结果不一致1.控制台输出结果>User-Agent: curl/7.15.5 (x86_64-redhat-linux-gnu) libcurl/7.15.5 **OpenSSL/0.9.**zlib/1.2.3 libidn/0.6.52.access.log原创 2015-07-01 17:16:37 · 3881 阅读 · 0 评论 -
NGX负载均衡策略
负载均衡策略nginx的负载均衡策略可以划分为两大类:内置策略和扩展策略。内置策略包含加权轮询和ip hash,在默认情况下这两种策略会编译进nginx内核,只需在nginx配置中指明参数即可。扩展策略有很多,如fair、通用hash、consistent hash等,默认不编译进nginx内核,是第三方模块。nginx 的 upstream目前支持原创 2015-07-09 14:51:17 · 2528 阅读 · 0 评论 -
查看某个进程号下面的子进程
[root@3WR ~]# ps --ppid 60768 PID TTY TIME CMD 38907 ? 00:00:03 nginx 38908 ? 00:00:03 nginx原创 2015-07-01 11:33:09 · 4870 阅读 · 0 评论 -
Nginx+Lua开发
Lua入门本文目的是学习Nginx+Lua开发,对于Lua基本知识可以参考如下文章:Lua简明教程http://coolshell.cn/articles/10739.htmllua在线lua学习教程http://book.luaer.cn/Lua 5.1 参考手册http://www.codingnow.com/2000/download/lua_manual.htm原创 2015-06-19 17:50:21 · 2446 阅读 · 0 评论 -
Nginx源码分析之变量
nginx中的变量在nginx中的使用非常的多,正因为变量的存在,使得nginx在配置上变得非常灵活。我们知道,在nginx的配置文件中,配合变量,我们可以动态的得到我们想要的值。最常见的使用是,我们在写access_log的格式时,需要用到多很多变量。 而这些变量是如何工作的呢?我们可以输出哪些变量?我们又怎么才能输出自己想要的内容呢?当然,我们可能还想知道,如何在我们的模块里面去使原创 2015-06-19 16:50:41 · 704 阅读 · 0 评论 -
Nginx源码学习资源集
nginx源码学习是一个痛苦又快乐的过程,下面列出了一些nginx的学习资源。首先要做的当然是下载一份nginx源码,可以从nginx官方网站下载一份最新的。看了nginx源码,发现这是一份完全没有注释,完全没有配置文档的代码。现在你最希望要的是一份注释版的nginx源码,可以从下面的链接中下载一份:https://github.com/jianfengye/ngi原创 2014-12-06 21:50:24 · 972 阅读 · 0 评论 -
Nginx如何解决事件过期问题
详细解释请参考《Nginx模块开发与架构解析》的9.6.3节ngx_epoll_module模块的实现nginx源码如下:static ngx_int_tngx_epoll_add_event(ngx_event_t *ev, ngx_int_t event, ngx_uint_t flags){ int op; uint32_t原创 2015-01-10 23:47:27 · 1761 阅读 · 2 评论 -
压力测试工具ab
在 Apache 有个叫 ab(ApacheBench) 的程序, 此程序是专门用在做压力测试用的软件. ApacheBench(ab) 用来测试 apache 执行效率,可以用来测试网站的压力工具.ab 参数:Usage: /usr/sbin/ab [options] [http[s]://]hostname[:port]/pathOptions are:§ -n requests Number原创 2015-07-21 11:43:17 · 1042 阅读 · 0 评论