nginx_http核心模块(二)

对一些常用的配置项做一些解释:详细请看官方文档:http://nginx.org/en/docs/http/ngx_http_core_module.html

1. alias    

Syntax:    alias path;
Default:     —
Context:    location

  上边的意思:第一行语法,用法,第二行是默认值 缺省的,第三行是活动的范围是在location中的.

  alias:别名,用来对位置做替换的.

location /i/ {
    alias /data/w3/images/;
}

  当请求"/i/top.gif‘,这个文件的时候 "/data/w3/images/top.gif"将被返回
  path 变量可以包含变量. 除了$document_root 和 $realpath_root两个变量
  如果alias应用在正则表达式定义的location,那么正则表达式必须包含捕获并且alias必须应用这些捕获的结果.

location ~ ^/users/(.+\.(?:gif|jpe?g|png))$ {
    alias /data/w3/images/$1;
}

  当location匹配directive的值:

location /images/ {
    alias /data/w3/images/;
}

  最好使用下边的方法:

location /images/ {
    root /data/w3;
}

 2. error_page:

Syntax:    error_page code ... [=[response]] uri;
Default:     —
Context:    http, server, location, if in location

 当碰到指定的错误,指定不同的URL,当前级别没有指定error_page指令将从上一级别继承.uri允许包含变量.
例如

error_page 404             /404.html;
error_page 500 502 503 504 /50x.html;

 而且,可以改变响应代码为其他,使用"=response"语法,例如:

error_page 404 =200 /empty.gif;

如果一个错误应答从代理服务器或者FastCGI/uwsgi/SCGI这些服务,并且这些服务会返回一些不同的相应代码(例如:200,302,401 or 404),可以应答它们返回的代码.:

error_page 404 = /404.php;

也可以使用重定向:

error_page 403      http://example.com/forbidden.html;
error_page 404 =301 http://example.com/notfound.html;

在这种情况下,默认,响应代码302返回给客户端,他只能改变一个重定向代码状态(301,302,303和307)
如果不需要改变URL,也可以使用内部重定向,通过location命名的错误处理:

location / {
    error_page 404 = @fallback;
}

location @fallback {
    proxy_pass http://backend;
}

如果uri处理会导致一个错误,最后发生错误的状态码返回给客户端。

3. keepalive_requests 

Syntax:    keepalive_requests number;
Default:
keepalive_requests 100;
Context:    http, server, location
This directive appeared in version 0.8.0.

设置最大的长连接服务数,大于这个数的请求将被关闭

3.keepalive_timeout

Syntax:    keepalive_timeout timeout [header_timeout];
Default:
keepalive_timeout 75s;
Context:    http, server, location

第一个参数设置了一个长连接可以在服务端停留的时间. 0 代表禁止长连接连接.第二个可选参数设置了一个值在"keep-alive:timeout=time" 响应头字段.
这个“Keep-Alive: timeout=time” 头字段被 Mozilla 和 Konqueror 认可,60秒后客户端自己断开长连接.

4. listen

Syntax:    listen address[:port] [default_server] [ssl] [spdy] [proxy_protocol] [setfib=number] [fastopen=number] [backlog=number] [rcvbuf=size] [sndbuf=size] [accept_filter=filter] [deferred] [bind] [ipv6only=on|off] [reuseport] [so_keepalive=on|off|[keepidle]:[keepintvl]:[keepcnt]];
listen port [default_server] [ssl] [spdy] [proxy_protocol] [setfib=number] [fastopen=number] [backlog=number] [rcvbuf=size] [sndbuf=size] [accept_filter=filter] [deferred] [bind] [ipv6only=on|off] [reuseport] [so_keepalive=on|off|[keepidle]:[keepintvl]:[keepcnt]];
listen unix:path [default_server] [ssl] [spdy] [proxy_protocol] [backlog=number] [rcvbuf=size] [sndbuf=size] [accept_filter=filter] [deferred] [bind] [so_keepalive=on|off|[keepidle]:[keepintvl]:[keepcnt]];
Default:
listen *:80 | *:8000;
Context:    server

这个语法有点多...
监听ip地址和端口.

样例:

listen 127.0.0.1:8000;
listen 127.0.0.1;
listen 8000;
listen *:8000;
listen localhost:8000;

# IPv6
listen [::]:8000;
listen [::1];

# sockets
listen unix:/var/run/nginx.sock;

默认使用80端口.
5.location

Syntax:    location [ = | ~ | ~* | ^~ ] uri { ... }
location @name { ... }
Default:     —
Context:    server, location
时间: 2024-10-16 02:22:50

nginx_http核心模块(二)的相关文章

perl核心模块解析(二)List::Util

perl核心模块解析(二)    List::Util 详细文档链接如下 源自:http://blog.csdn.net/jonathanxqs 转自:http://perldoc.perl.org/List/Util.html http://www.xker.com/page/e2015/06/193925.html 在Perl中有一些专门用于处理列表数据的模块,比如说List::Util模块,该模块包含在标准库中,能提供各种高效的常见列表处理工具.因其用C语言来实现,速度一般都挺快! [例0

纯手工搭建kubernetes(k8s)1.9集群 - (二)核心模块部署

1. 部署ETCD(主节点) 1.1 简介 ??kubernetes需要存储很多东西,像它本身的节点信息,组件信息,还有通过kubernetes运行的pod,deployment,service等等.都需要持久化.etcd就是它的数据中心.生产环境中为了保证数据中心的高可用和数据的一致性,一般会部署最少三个节点.我们这里以学习为主就只在主节点部署一个实例. 如果你的环境已经有了etcd服务(不管是单点还是集群),可以忽略这一步.前提是你在生成配置的时候填写了自己的etcd endpoint哦~

node.js学习笔记5——核心模块1

Node.js核心模块主要内容包括:(1)全局对象 (2)常用工具 (3)事件机制 (4)文件系统访问 (5)HTTP服务器与客户端 一: 全局对象 Node.js中的全局对象是global,所有的全局变量(除了global本身以外)都是global的属性. global 最根本的作用是作为全局变量的宿主. 全局变量的条件: (1)在最外层定义的变量; (2)全局对象的属性: (3)隐式定义的变量(未定义直接赋值的变量(strict模式下不可以)) 在Node.js中不可能在最外层定义变量,因为

单片机小白学步系列(十七) 单片机/计算机系统概述:核心模块

前面已经介绍了模块化设计的特点和巨大优势.在我们的实验板中,单片机是其中最核心的一个模块:而对于单片机来说,又是由更多的子模块组合而成.本文主要对单片机/计算机系统中最核心的几个模块进行简要介绍. 为了便于进行说明,后面会将单片机/计算机简单的统称为微机系统. 信息与数据 何为信息?可以理解成我们周围各种所能感知到的东西.还有人们所思所想等等,信息的概念不好解释,但是大家都能理解,也不是我要讨论的重点. 在微机系统中,能处理很多信息,例如我正在写的内容,就是文字和图像信息.处理信息的前提,就是对

第四周作业之wcPro核心模块的实现

第四周作业之wcPro核心模块的实现 一.基本任务:代码编写+单元测试 小组github地址 https://github.com/SkateCloud/wcPro PSP表格 PSP2.1 PSP阶段 预估耗时(分钟) 实际耗时(分钟) Planning 计划 30 60 Estimate 估计任务需要多少时间 30 60 Development 开发 120 180 Analysis 需求分析 20 30 Design Spec 生成设计文档 20 30 Design Review 设计复审

核心模块

核心模块Path 作用:用于帮助程序员来操作硬盘上的路径. 核心模块注意点:当引用核心模块的时候直接require('模块名'),不需要加任何路径或者后缀. Path中的常用API: dirname(路径): //获取传入路径中文件的路径 basename(路径): //如果不传入任何参数:直接获取到传入路径中文件的全名称(文件名+扩展名) //如果传入文件对应的后缀,会将后缀名去掉(传错与不传相同) extname(路径): //获取传入路径中文件的扩展名 join(): //将多个路径组装成

【Nginx】核心模块ngx_events_module

核心模块ngx_events_module是一个专门用于管理事件模块的模块.它的实现很简单,下面是该模块的定义: ngx_module_t ngx_events_module = { NGX_MODULE_V1, &ngx_events_module_ctx, /* module context */ ngx_events_commands, /* module directives */ NGX_CORE_MODULE, /* module type */ NULL, /* init mast

[NodeJS]核心模块--Events

Events是Node中的一个很重要的核心模块,Stream, 网络,文件系统统统都是继承自这个模块. Streams模块就是继承自EventEmitter,所以说弄明白Events模块,特别是EventEmitter对象, 对于理解Node中的很多模块都是有好处的. Stream非常擅长处理数据,无论是读,写或者是转换.比如,你可以用Stream接收数据库中的数据,将其流出到csv的流中,导出成为csv格式. 接着你可以再传入一个http请求(也是一种流)将数据再流入到http流中,这样就可以

网页搜索核心模块架构重构

X模块是百度网页搜索的核心模块,与其他系统接口多,逻辑复杂,代码陈旧.长年密集的新特性开发导致留下了大量的技术债.我们在不影响新特性开发的情况下,在设计层面.编码层面重构了X模块架构代码,在代码可维护性.内存使用和运行效率上都取得了显著成果. 转:http://www.infoq.com/cn/presentations/architecture-reconstruction