nginx源码解析(4)-深入http模块
从ngx_http_init_request()
入手,可以很容易分析http模块的处理流程。从http请求头开始解析,根据http版本走不同流程,处理请求头各个字段,直到ngx_http_core_run_phases()
。
从ngx_http_init_request()
入手,可以很容易分析http模块的处理流程。从http请求头开始解析,根据http版本走不同流程,处理请求头各个字段,直到ngx_http_core_run_phases()
。
了解了nginx的模块化结构和进程关系之后,可以知道在worker进程的主循环里面,nginx实际上在循环处理一个个IO事件,那么具体的业务处理模块是怎么挂接进这个框架呢?
nginx中进程有这几种类型:
nginx所有功能都实现模块化,包括核心功能和基础设施,例如core模块和errorlog模块,一般软件都会设计成一个核心代码和共用库,而在nginx中却是一个模块。模块的加载、卸载目前不支持运行时动态调整,需要在编译阶段通过configure自动进行,用户扩展的模块代码放到addon目录下会被自动搜索、配置。
话说从前看了google等大公司的工作环境,每次看到人家桌面上摆两个显示器都心里痒痒的,于是每天琢磨着给自己也搞两个显示器。在网上逛啊逛,总结出了几种方案: 1。 单显卡双输出 2。 集成显卡+独立显卡 研究了一下我的办公用机,没有AGP接口,集成显卡只有一个VGA输出,上述两种方案都不行,除非去买一个老的PCI或PCI-E显卡。