本节书摘来异步社区《精通Nginx》一书中的第2章,第2.4节,作者: 【瑞士】Dimitri Aivaliotis 译者: 陶利军 责编: 陈冀康,更多章节内容可以访问云栖社区“异步社区”公众号查看。\
2.4 Http的server部分
在Http中,server部分或者是Http配置context是可用的,除非在编译安装Nginx时没有包含Http模块(也就是使用了--without-http)。这部分控制了Http模块的方方面面,是使用最多的一个部分。
本部分的指令用于处理Http连接,因此该模块提供了相当数量的指令。为了更容易理解这些指令我们将它们划分为不同的类型来讲述。
2.4.1 客户端指令
如表2-2所示,这一组指令用于处理客户端连接本身的各个方面,以及不同类型的客户端。
2.4.2 文件I/O指令
这些指令用于控制Nginx如何投递静态文件,以及如何管理文件描述符参见表2-3。
2.4.3 Hash指令
如表2-4所示,这组hash指令控制Nginx分配给某些变量多大的静态内存。在启动和重新配置时,Nginx会计算需要的最小值。在Nginx发出警告时,你几乎只需要调整一个_hash_max_size指令的参数值就可以达到效果。_hash_bucket_size变量被设置了默认值,以便满足多处理器缓存行降低检索所需要的检索查找,因此基本不需要改变,额外更详细的内容参考http://nginx.org/en/docs/hash. html。
2.4.4 Socket指令
如表2-5所示,这些指令描述了Nginx如何设置创建TCP套接字的变量选项。
2.4.5 示例配置文件
下面是一个Http配置部分的例子。
http {
include /opt/local/etc/nginx/mime.types;
default_type application/octet-stream;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
server_names_hash_max_size 1024;
}
在nginx.conf文件中上面的这部分内容跟随在全局配置指令之后。