沧浪水(freecls - be free to create learn and share)是一个自由的线上知识创作、学习和分享平台
在这里希望你能发散思维、学习技能、交到朋友...
    • err 戴磊 2018-08-31 19:22:39
      lua C API(4) - 编写C函数其他技术

      数组处理数组处理可以用处理表格的方法来处理比如 lua_settable,lua_gettable,因为数组也是表格。但是出于性能考虑和简便性,lua api 提供了额外几个专门处理数组的函数。voi...

      19 0 0
    • err 戴磊 2018-08-31 17:34:01
      lua C API(3) - Lua 调用 C函数

      从Lua中调用C函数,必须遵循一些协议来传递参数和获得返回结果。另外,从Lua调用C函数我们必须注册函数,也就是说,我们必须把C函数的地址以一个适当的方式传递给Lua解释器。每一个函数都有他自己的私有...

      20 0 0
    • err 戴磊 2018-08-31 14:16:47
      lua C API(2) - C 调用 Lua

      Lua 可以作为程序库用来扩展应用的功能。同时,Lua 程序中可以注册有其他语言实现的函数,这些函数可能由C语言(或其他语言)实现,可以增加一些不容易由 Lua 实现的功能。这使得 Lua 是可扩展的...

      19 0 0
    • err 戴磊 2018-08-31 14:15:21
      lua C API(1) - 函数汇总

      在调用C API时有几个重要的头文件:lua.h:基础函数库,lua_ 前缀。lauxlib.h辅助库,luaL_ 前缀,利用 lua.h 实现的更高层的抽象。lualib.h为了保持Lua的苗条,所...

      32 0 0
    • err 戴磊 2018-09-03 09:58:47
      lua C API(6) - 协程和state

      协程的介绍请参考lua 协程,这里我们看看如何在 C语言里创建协程并配合 lua 脚本。1.多个协程其实就是多个独立的栈。2.声明一个 state,里面自动会生成一个协程,称为主协程,这个主协程不会被...

      13 1 0
    • err 戴磊 2018-09-01 20:03:10
      lua C API(5) - 用户自定义类型

      除了写C函数来扩展 Lua,我们也可以在 C 里面自定义一些类型。userdatalua_newuserdata 函数分配一块内存,并把对应的 userdatum 压入栈,并返回内存块地址。该内存的释...

      13 0 0
    • err 戴磊 2018-07-30 17:19:10
      nginx http模块开发实例(3) - 回显请求体

      本例子实现了回显 post 请求的请求体的功能。模块指令Syntax: my_post; Default: ; Context: location源代码文件名 ngx_http_mypost_modu...

      22 0 0
    • err
      err 戴磊 2018-07-30 11:54:06
      nginx 变量(1)

      变量不仅可以用于配置文件,也可用于模块间的简单通信。Nginx提供了两种方式找到变量:一是根据索引值直接找到数组里的相应变量。二是根据变量名字符串 hash 出的散列值,...

      18 0 0
    • err
      err 戴磊 2018-07-29 22:13:34
      nginx http框架执行流程(8) - 结束请求

      在处理 HTTP 请求的过程中可能会因为各种各样的原因结束请求,既有正常的发送完数据结束,也有权限检查不通过而结束,还有其他的很多情况(超时、读取错误、缓冲区满、内部异常...

      12 0 0
    • err 戴磊 2018-07-29 21:29:04
      nginx http框架执行流程(7) - 发送数据

      CONTENT 阶段是 http处理引擎的最后一个处理阶段(LOG 阶段只记录日志,不处理请求),nginx 会使用过滤引擎发送响应数据,这是将再次监控连接上的写事件,但关注的重点是可写,持续地发送被...

      12 0 0
    • err
      err 戴磊 2018-07-29 13:45:33
      nginx http框架执行流程(6) - 接收请求体

      如果请求体对我们有用比如一般的 POST 请求,那么就该接收保存请求体,nginx 对外提供了了 ngx_http_read_client_request_body() ...

      16 0 0
    • err 戴磊 2018-07-28 21:40:08
      nginx http框架执行流程(5) - 丢弃请求体

      http 框架在读取完请求头后,之后的 http 处理引擎只关注写事件,"阻塞"了读事件,最常见的请求方法 get、head 都没有请求体。如果想要操作请求体,必须再次监控连接上的读事件。丢弃请求体我...

      24 0 0
    • err
      err 戴磊 2018-07-28 17:48:13
      nginx http框架执行流程(4) - 各个阶段

      从上篇 ngx_http_core_run_phases() 的循环可以知道,它会遍历执行每个阶段的处理函数。while (ph[r->phase_handler]...

      15 0 0
    • err
      err 戴磊 2018-07-28 16:16:15
      nginx http框架执行流程(3) - 准备执行引擎

      在成功接收完 HTTP 请求头后,Nginx 就进入了HTTP处理引擎(请参考前面文章),在事件机制的驱动下由众多 http模块联合处理客户端的请求,最终产生合适的响应数...

      14 0 0
    • err
      err 戴磊 2018-07-28 11:46:33
      nginx http框架流程(2) - 读取请求行、请求头

      Nginx 使用函数 ngx_http_process_request_line() 和 ngx_http_process_request_headers() 来读取并解...

      18 0 0
    • err
      err 戴磊 2018-07-28 10:50:06
      nginx http框架流程(1) - 新连接的建立

      当 epoll 检测到连接事件时,会调用 event_accept,最后会调用 ngx_http_init_connection,它是 http 处理的起点,此时连接已经...

      13 0 0
    • err
      err 戴磊 2018-07-20 17:02:40
      nginx http模块开发(4) - ngx_http_core_location

      在上一节的 ngx_http_core_server 函数里在做完 server{} 块的初始化操作后,又开始遍历解析该块里的其他指令。// 递归解析server{}块里...

      21 0 0
    • err
      err 戴磊 2018-07-20 12:31:01
      nginx http模块开发(3) - ngx_http_core_server

      在上一节的 ngx_http_block 函数里在遍历调用完每个http模块的 create_xxx_conf 后,就会调用如下开始继续解析配置命令。// 递归解析htt...

      17 0 0
    • err
      err 戴磊 2018-07-20 10:02:36
      nginx http模块开发(2) - ngx_http_block

      ngx_http_module 核心模块的 ngx_http_block 方法是在配置解析到 http{} 配置块时被调用的。我们先来看看 nginx 的配置,一个htt...

      22 0 0
    • err 戴磊 2018-07-19 21:28:33
      nginx http模块开发(1) - 基础

      nginx的模块使用 ngx_module_t 结构体描述,它的成员很多,但有些只是保留字段,不需要关心。typedef struct ngx_module_s ngx_module...

      23 0 0
    • err
      err 戴磊 2018-07-21 17:41:15
      nginx http模块开发(7) - 处理引擎

      nginx 定义了函数原型 ngx_http_handler_pt,任何 handler 模块想要处理 http 请求都必须实现这个函数,它的形式是typedef ngx...

      14 0 0
    • err
      err 戴磊 2018-07-21 16:59:43
      nginx http模块开发(6) - http框架简介

      nginx 的 http 框架是由核心模块 ngx_http_module 和 http 模块 ngx_http_core_module 共同定义的。ngx_http_m...

      17 0 0
    • err
      err 戴磊 2018-07-21 11:02:44
      nginx http模块开发(5) - 配置解析

      访问配置数据从前几篇文章我们知道 nginx 使用多个 ngx_http_conf_ctx_t 结构表示不同的配置层次,每个结构代表一个块的配置,所有http模块的配置数...

      8 0 0
    • err 戴磊 2018-07-24 21:57:57
      nginx http模块开发实例(10) - 内容处理模块

      本例子很简单,就是简单的内容生成,处在 NGX_HTTP_CONTENT_PHASE 阶段。模块指令Syntax: my_first string; Default: my_first "hello ...

      5 0 0
    • err 戴磊 2018-07-17 22:31:44
      nginx模块 ngx_http_headers_module

      ngx_http_headers_module 模块是用来增加 Expires 和 Cache-control,或者是任意的响应头。Syntax: add_header name value [alw...

      16 0 0
    • err 戴磊 2018-07-17 18:30:28
      nginx模块 ngx_http_gunzip_module、ngx_http_gzip_module、ngx_http_gzip_static_module

      ngx_http_gunzip_module 模块将文件解压缩后并在响应头加上 "Content-Encoding: gzip" 返回给客户端。为了解决客户端不支持gzip压缩。编译的时候带上 --w...

      11 0 0
    • err 戴磊 2018-07-17 16:34:18
      nginx模块 ngx_http_flv_module、ngx_http_mp4_module

      ngx_http_flv_module模块提供了对 flv 视频的伪流支持。编译的时候带上 --with-http_flv_module。它会根据指定的 start 参数来指定跳过多少字节,并在返回数...

      14 0 0
    • err 戴磊 2018-07-17 14:13:41
      nginx模块 ngx_http_fastcgi_module

      ngx_http_fastcgi_module 模块使得nginx可以与 fastcgi 服务器通信。比如目前要使得 nginx 支持 php 就得使用 fastcgi技术,在服务器上装上 nginx...

      6 0 0
    • err 戴磊 2018-07-17 13:38:29
      nginx模块 ngx_http_autoindex_module

      ngx_http_autoindex_module 模块可以将uri以 / 结尾时,列出里面的文件和目录。Syntax: autoindex on | off; Default: autoindex ...

      9 0 0
    • err 戴磊 2018-07-17 13:24:04
      nginx模块 ngx_http_addition_module

      ngx_http_addition_module过滤模块可以在响应体的前面或后面附加上数据。编译的时候带上 --with-http_addition_module。Syntax: add_before...

      8 0 0
    • err 戴磊 2018-07-17 11:21:27
      nginx模块 ngx_http_geo_module

      ngx_http_geo_module 该模块可以根据客户端地址生成变量。Syntax: geo [$address] $variable { ... } Default: — Context: ht...

      9 0 0
    • err 戴磊 2018-07-17 10:16:06
      nginx认证模块

      ngx_http_access_module该模块会根据客户端地址来限制访问。Syntax: allow address | CIDR | unix: | all; Default: — Contex...

      5 0 0
    • err 戴磊 2018-07-16 09:04:47
      nginx核心模块 ngx_http_core_module

      该模块是nginx的最基本的模块,在所有模块里编号为0,至关重要。listenSyntax: listen address... listen port... listen u...

      21 0 0
    推荐作者 换一批