共计 13 篇文章

Nginx官方推出的web应用服务器-nginx unit

近日Nginx官方发布了nginx unit的1.0版本,作为靠Nginx混饭吃的一员,免不了先体验一把。 unit是一个动态的web应用服务器,采用了类似php-fpm的机制,不过支持Python/Go/Perl/Ruby/PHP等多种语言,后面也会增加对Java/Javascript的支持。 配置源码 clone源码仓库 $ git clone https://github. ...

Nginx的文件分片-slice模块

Nginx的slice模块可以将一个请求分解成多个子请求,每个子请求返回响应内容的一个片段,让大文件的缓存更有效。 HTTP Range请求 HTTP客户端下载文件时,如果发生了网络中断,必须重新像服务器发起HTTP请求,这时客户端已经有文件的一部分,只需要请求剩余的内容,而不需要传输整个文件,Range请求就用来处理这种问题。 如果HTTP请求的头部有Range字段,如下面所示 Range: bytes=1024-2047 表示客户端请求文件的第1025到第2048个字节,这时服务器只会响应文件的这部分内容,响应的状态码为206, ...

Nginx stream模块的执行阶段

Nginx的stream模块提供了TCP负载均衡的功能,最初的stream模块比较简单,在nginx-1.11.4后也开始采用类似HTTP模块中分阶段处理请求的方式。 stream模块的处理阶段 在ngx_stream.h中定义了stream模块的7个阶段。如下面所示 typedef enum { NGX_STREAM_POST_ACCEPT_PHASE = 0, NGX_STREAM_ ...

openresty的agent进程

最近Openresty项目增加了一个新的功能,可以在Nginx中开启一个agent进程,这个agent进程不像Nginx的worker进程那样监听服务端口然后对外提供服务,而是继承了master进程的用户权限。 出于安全的考虑,Nginx一般以root身份启动,启动后worker进程通过setuid和setgid以nobody方式运行,只有master进程保留了root身份。而agent进程拥有与master进程相同的权限,便可以实现对Nginx自身的控制,如Nginx的重载等功能。 安装 通过openresty安装 通过openresty仓库下载安装openresty 从源码编译 1 需要对Nginx源码打补丁, openresty的补丁。 2 下载lua-nginx-module, ...