Nginx中的连接类型有哪些?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1796个文字,预计阅读时间需要8分钟。
相关专题:
在 Nginx 中 connection 就是对 tcp 连接的封装,其中包括连接的 socket,读事件,写事件。利用 Nginx 封装的 connection,我们可以很方便的使用 Nginx 来处理与连接相关的事情,比如,建立连接,发送与接受数据等。 ( 推荐学习:nginx使用 )
而 Nginx 中的 http 请求的处理就是建立在 connection之上的,所以 Nginx 不仅可以作为一个web服务器,也可以作为邮件服务器。当然,利用 Nginx 提供的 connection,我们可以与任何后端服务打交道。
结合一个 tcp 连接的生命周期,我们看看 Nginx 是如何处理一个连接的。
首先,Nginx 在启动时,会解析配置文件,得到需要监听的端口与 ip 地址,然后在 Nginx 的 master 进程里面,先初始化好这个监控的 socket(创建 socket,设置 addrreuse 等选项,绑定到指定的 ip 地址端口,再 listen),然后再 fork 出多个子进程出来,然后子进程会竞争 accept 新的连接。
此时,客户端就可以向 Nginx 发起连接了。
当客户端与服务端通过三次握手建立好一个连接后,Nginx 的某一个子进程会 accept 成功,得到这个建立好的连接的 socket,然后创建 Nginx 对连接的封装,即 ngx_connection_t 结构体。
接着,设置读写事件处理函数并添加读写事件来与客户端进行数据的交换。最后,Nginx 或客户端来主动关掉连接,到此,一个连接就寿终正寝了。
本文共计1796个文字,预计阅读时间需要8分钟。
相关专题:
在 Nginx 中 connection 就是对 tcp 连接的封装,其中包括连接的 socket,读事件,写事件。利用 Nginx 封装的 connection,我们可以很方便的使用 Nginx 来处理与连接相关的事情,比如,建立连接,发送与接受数据等。 ( 推荐学习:nginx使用 )
而 Nginx 中的 http 请求的处理就是建立在 connection之上的,所以 Nginx 不仅可以作为一个web服务器,也可以作为邮件服务器。当然,利用 Nginx 提供的 connection,我们可以与任何后端服务打交道。
结合一个 tcp 连接的生命周期,我们看看 Nginx 是如何处理一个连接的。
首先,Nginx 在启动时,会解析配置文件,得到需要监听的端口与 ip 地址,然后在 Nginx 的 master 进程里面,先初始化好这个监控的 socket(创建 socket,设置 addrreuse 等选项,绑定到指定的 ip 地址端口,再 listen),然后再 fork 出多个子进程出来,然后子进程会竞争 accept 新的连接。
此时,客户端就可以向 Nginx 发起连接了。
当客户端与服务端通过三次握手建立好一个连接后,Nginx 的某一个子进程会 accept 成功,得到这个建立好的连接的 socket,然后创建 Nginx 对连接的封装,即 ngx_connection_t 结构体。
接着,设置读写事件处理函数并添加读写事件来与客户端进行数据的交换。最后,Nginx 或客户端来主动关掉连接,到此,一个连接就寿终正寝了。

