在前面相关章节,我们知道nginx定义了ngx_connection_t数据结构来表示连接,这种连接通常表示由客户端主动发起、Nginx服务器被动接收的TCP连接(当然UDP连接也会用该结构来表示),称为被动连接。还有一类连接,在某些请求的处理过程中,Nginx会试图主动向其他上游服务器建立连接,并以此连接与上游服务器进行通信,Nginx定义ngx_peer_connection_t结构来表示,这类可以称为主动连接。本质上来说,主动连接是以ngx_connection_t结构体为基础实现的。

Read More

在前面相关章节,我们知道nginx定义了ngx_connection_t数据结构来表示连接,这种连接通常表示由客户端主动发起、Nginx服务器被动接收的TCP连接(当然UDP连接也会用该结构来表示),称为被动连接。还有一类连接,在某些请求的处理过程中,Nginx会试图主动向其他上游服务器建立连接,并以此连接与上游服务器进行通信,Nginx定义ngx_peer_connection_t结构来表示,这类可以称为主动连接。本质上来说,主动连接是以ngx_connection_t结构体为基础实现的。

Read More

通过我们知道ngx_event_core_module模块的init_process函数ngx_event_process_init()会为每个监听套接字的读事件注册处理函数ngx_event_accept(TCP)或者ngx_event_recvmsg(UDP),这里我们就来讲述一下nginx event acceptde的相关实现。

Read More

nginx中很多地方都需要用到时间戳信息,但是如果每一次都直接调用系统函数来获取,虽然可以保证时间的精确性,但是却会严重降低系统的性能。考虑到Nginx中很多地方用到的时间戳并不需要十分精确,从系统性能方面考虑,nginx采用缓存时间戳的方法来处理。

Read More

nginx中很多地方都需要用到时间戳信息,但是如果每一次都直接调用系统函数来获取,虽然可以保证时间的精确性,但是却会严重降低系统的性能。考虑到Nginx中很多地方用到的时间戳并不需要十分精确,从系统性能方面考虑,nginx采用缓存时间戳的方法来处理。

Read More

本章我们介绍一下nginx中syslog的实现。nginx中的syslog并未直接采用类Unix系统中的syslog函数来实现,而是自己封装了一套相似的API来实现对应的功能。关于Linux syslog请参看附录。

Read More