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/$;
}
当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 /.html;
error_page /50x.html;
而且,可以改变响应代码为其他,使用"=response"语法,例如:
error_page = /empty.gif;
如果一个错误应答从代理服务器或者FastCGI/uwsgi/SCGI这些服务,并且这些服务会返回一些不同的相应代码(例如:200,302,401 or 404),可以应答它们返回的代码.:
error_page = /.php;
也可以使用重定向:
error_page http://example.com/forbidden.html;
error_page = http://example.com/notfound.html;
在这种情况下,默认,响应代码302返回给客户端,他只能改变一个重定向代码状态(301,302,303和307)
如果不需要改变URL,也可以使用内部重定向,通过location命名的错误处理:
location / {
error_page = @fallback;
}
location @fallback {
proxy_pass http://backend;
}
如果uri处理会导致一个错误,最后发生错误的状态码返回给客户端。
3. keepalive_requests
Syntax: keepalive_requests number;
Default:
keepalive_requests ;
Context: http, server, location
This directive appeared in version 0.8..
设置最大的长连接服务数,大于这个数的请求将被关闭
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 *: | *:;
Context: server
这个语法有点多...
监听ip地址和端口.
样例:
listen 127.0.0.1:;
listen 127.0.0.1;
listen ;
listen *:;
listen localhost:; # IPv6
listen [::]:;
listen [::]; # sockets
listen unix:/var/run/nginx.sock;
默认使用80端口.
5.location
Syntax: location [ = | ~ | ~* | ^~ ] uri { ... }
location @name { ... }
Default: —
Context: server, location
nginx_http核心模块(二)的更多相关文章
- MySQL启动过程详解二:核心模块启动 init_server_components()
mysqld_main() 函数中,init_server_components() 函数负责MySQL核心模块的启动,包括mdl系统,Innodb存储引擎的启动等等: 1. mdl子系统初始化. 2 ...
- Nodejs进阶:核心模块Buffer常用API使用总结
本文摘录自<Nodejs学习笔记>,更多章节及更新,请访问 github主页地址.欢迎加群交流,群号 197339705. 模块概览 Buffer是node的核心模块,开发者可以利用它来处 ...
- C#--Winform项目核心模块--考勤模块
C#--Winform项目核心模块--考勤模块(一) C#--Winform项目核心--考勤模块(二) C#--Winform项目核心模块--考勤模块(三)
- 【饿了么】—— Vue2.0高仿饿了么核心模块&移动端Web App项目爬坑(三)
前言:接着上一篇项目总结,这一篇是学习过程记录的最后一篇,这里会梳理:评论组件.商家组件.优化.打包.相关资料链接.项目github地址:https://github.com/66Web/ljq_el ...
- 【转】nginx的模块变量(HTTP核心模块变量)
nginx的HTTP核心模块引入了大量的变量,可以在指定范围内使用这些变量的值,可以分为三类:一是客户请求头中发送的变量.二是服务器端响应头中的变量,第三是nginx产生的各种变量,我们可以使用$变量 ...
- Python常用模块二
一.time & datetime #_*_coding:utf-8_*_ import time # print(time.clock()) #返回处理器时间,3.3开始已废弃 , 改成了t ...
- Zepto核心模块源代码分析
一.Zepto核心模块架构 Zepto核心模块架构图 该图展示了Zepto核心模块架构代码的组织方式.主要分为私有变量.函数和暴露给用户的所有api. Zepto核心模块架构代码 该图展示了Zepto ...
- Linux学习-核心与核心模块
谈完了整个开机的流程,您应该会知道,在整个开机的过程当中,是否能够成功的驱动我们主机的硬 件配备, 是核心 (kernel) 的工作!而核心一般都是压缩文件,因此在使用核心之前,就得要将他解 压缩后, ...
- NGINX模块(二)
[Nginx标准HTTP模块] 一.HTTP核心模块 指令1:alias 语法:alias file-path|directory-path; 默认值:no 使用字段:location 说明:这个指令 ...
随机推荐
- Java内部类和外部类的通信探索
1.内部类访问外部类的成员和方法 在内部类中,可以无障碍地访问外部类的所有成员和方法. 在下面的实验代码中,可以看到,内部类sl可以访问外部类的私有成员:sz 和 cur. 同时可以访问私有方法:pr ...
- PE文件结构整理
一直想做一个PE结构的总结,只是学的时候有很多东西就没搞懂,加上时间一长,很多知识也早忘了,也就一直没完成.这几天从头看了下,好不容易理清楚了,整理一下,以免又忘了 pe文件框架结构,图片贴过来太模糊 ...
- nginx读书日志
2016.12.20 nginx 功能特性: 既可以作为http服务器,也可以作为反向代理服务器或者邮件服务器 基本服务:处理静态文件,处理索引文件以及支持自动索引 nginx服务器中主要由proxy ...
- IOS学习:ios中的数据持久化初级(文件、xml、json、sqlite、CoreData)
IOS学习:ios中的数据持久化初级(文件.xml.json.sqlite.CoreData) 分类: ios开发学习2013-05-30 10:03 2316人阅读 评论(2) 收藏 举报 iOSX ...
- 安卓4.2原生rom状态栏显示运营商
前言:要调整状态栏布局,需反编译systemui.apk.单卡机修改status_bar.xml和signal_cluster_view.xml,双卡机修改gemini_status_bar.xml和 ...
- iOS 定位服务、通讯录、日历、提醒事项、照片、蓝牙共享、麦克风、相机等授权检测
金田 iOS系统版本的不断升级的前提,伴随着用户使用设备的安全性提升,iOS系统对于App需要使用的硬件限制也越来越严格,App处理稍有不妥,轻则造成功能不可用用户还不知道,重则会造成App Cras ...
- java并发6-小结
为什么需要并发 并发其实是一种解耦合的策略,它帮助我们把做什么(目标)和什么时候做(时机)分开.这样做可以明显改进应用程序的吞吐量(获得更多的CPU调度时间)和结构(程序有多个部分在协同工作).做 ...
- ACM2039_三角形三边关系
#include <iostream> using namespace std; int main(int argc, char* argv[]) { double a,b,c; int ...
- SRM 583 DIV1
A 裸最短路. class TravelOnMars { public: int minTimes(vector <int>, int, int); }; vector<int> ...
- openstack debugs