Hi!请登陆

2020/3/29

nginx基于epoll模型事件驱动流程详解

epoll是一种基于事件驱动的模型,其是nginx能够高效处理客户端请求的重要原因之一。从流程上来讲,epoll模型的使用主要分为三步:epoll句柄的创建,监听文件描述符的添加和等待事件的触发,本文将介绍nginx是如何基…

  • 建站
  • 2020/3/29
  • 116
  • 2020/3/29

    源码分析 Nginx 请求行读取流程

            在前面的文章中我们讲解了当一个请求到达时,nginx是如何建立连接并且读取数据的。在读取数据完成之后,nginx会将读取事件的回调方法设置为ngx_http_process_request_line(),这个方法主要有如下几个作用:…

  • 建站
  • 2020/3/29
  • 80
  • 2020/3/29

    源码分析 Nginx 请求头数据读取流程

    1. 请求头读取主流程 在介绍请求头的读取流程之前,我们首先展示一个http请求报文的示例: POST /web/book/read HTTP/1.1 Host: localhost Connection: keep-alive Content-Length: 365 Accept: application/json, …

  • 建站
  • 2020/3/29
  • 85
  • 2020/3/24

    一个Connection: close 头导引发的血案

    nginx Transfer-Encoding: chunked 问题排查 概述 有网站接入nginx以后报浏览器有白页。 我curl的结果返回是 curl: (52) Empty reply from server, 从日志报表也看出什么异常的请求。 查了下对应的acces…

  • 建站
  • 2020/3/24
  • 107
  • 2020/3/23

    Nginx实现反向代理 Node.js

    公司有项目前端是用node.js进行服务器渲染,然后再返回给浏览器,进而解决单页面的SEO问题。项目部署的时候,使用Nginx反向代理Node.js。具体的步骤如下: (Nginx、Node.js的安装和基本配置直接跳过) 首先我们要…

  • 建站
  • 2020/3/23
  • 110
  • 2020/3/23

    Go Modules 终极入门

    Go modules 是 Go 语言中正式官宣的项目依赖解决方案,Go modules(前身为vgo)于 Go1.11 正式发布,在 Go1.14 已经准备好,并且可以用在生产上(ready for production)了,Go官方也鼓励所有用户从其他依赖项管理…

  • 建站
  • 2020/3/23
  • 89
  • 2020/3/23

    一文弄懂Python上下文管理器和with用法

    导读:pythoners都知道有个关键字叫”with”,它可以实现使用某些”临时”声明的对象,而之后”什么也不用管”,这个用法在python中叫上下文管理器。本文带你快速入门上下文管理…

  • 建站
  • 2020/3/23
  • 88
  • 2020/3/22

    Go 介绍与环境安装

    本文目标 学会安装 Go。 知道什么是 Go。 知道什么是 Go modules。 了解 Go modules 的小历史。 学会简单的使用 Go modules。 了解 Gin,并简单跑起一个 Demo。 准备环节 安装 Go Centos 首先,根据对应的操作系…

  • 建站
  • 2020/3/22
  • 109
  • 2020/3/22

    在 Go 中恰到好处的内存对齐

    问题 type Part1 struct { a bool b int32 c int8 d int64 e byte } 在开始之前,希望你计算一下 Part1 共占用的大小是多少呢? func main() { fmt.Printf("bool size: %d\n", unsafe.Sizeof(bool(true))…

  • 建站
  • 2020/3/22
  • 106