2015年2月

受伤小记

千小心万小心,我还是受伤了。

一月中下旬的时候,由于各种事情挤在一起,有一周多的时间完全没有跑步,其中包括去北京参加公司年会等。于是在1月25号,我开始恢复训练。

那天是个周日,下午五点多的时候,我直接从住处沿公路跑到我经常跑步的公园并继续跑完6千多米。在跑之前,本是打算跑完一万米的,谁知由于前半程是在公路上跑的,路上各种变向绕开行人等动作,而且并没有做准备动作,导致腿部、膝盖等在跑完三千米的时候已经有不适了。

在这种情况下,我做了一个错误的决定,继续跑了三千米。跑完后,膝盖侧面有些不适,心里暗想糟糕,不会受伤了吧。

第二天,我又做出了一个更错误的决定,上完班后又跑了次一万米。这直接导致跑完后膝盖侧面非常疼痛,接下来的一周我已经完全不能跑步了,上下楼都很困难,不得已还只好放弃骑车上下班,改为步行。

- 阅读剩余部分 -

Nginx中的ngx_modules数组

1.ngx_modules数组的产生

ngx_modules数组是在执行configure脚本后自动生成的,在objs/ngx_modules.c文件中。该数组即当前编译版本中的所有Nginx模块。

做如下操作,可以看到ngx_moduels数组的一般形式:

1.1 最简单的Nginx框架,不包含任何HTTP模块

cd nginx-1.6.2
./configure --without-http

此时,objs/ngx_modules.c的内容为:

#include <ngx_config.h>
#include <ngx_core.h>



extern ngx_module_t  ngx_core_module;
extern ngx_module_t  ngx_errlog_module;
extern ngx_module_t  ngx_conf_module;
extern ngx_module_t  ngx_events_module;
extern ngx_module_t  ngx_event_core_module;
extern ngx_module_t  ngx_epoll_module;

ngx_module_t *ngx_modules[] = {
    &ngx_core_module,
    &ngx_errlog_module,
    &ngx_conf_module,
    &ngx_events_module,
    &ngx_event_core_module,
    &ngx_epoll_module,
    NULL
};

- 阅读剩余部分 -

Nginx中的几个基本模块和几个模块ctx类型

1.Nginx中的基本模块类型

Nginx中的模块对外看来主要包含如下几个类别:

  1. Core模块
  2. HTTP模块(标准HTTP模块和第三方HTTP模块)
  3. Mail模块

其中,Core模块是最基本的模块。由于Nginx主要是一个HTTP服务器,所以默认编译时会把HTTP模块给编译进去,而不会编译Mail模块。如果要排除HTTP模块,则在编译时加入选项--without-http,同理,如果要包含Mail模块,则在编译时加入选项--with-mail.

- 阅读剩余部分 -