nginx中ngx_http_core_module模块

http核?心模块
指令:
套接字相关的配置
3.1 server{ }
设置虚拟服务器?的配置
Syntax: server { ... }
Default: —
Context: http
server {
listen address[:PORT]|PORT;
server_name SERVER_NAME;
root /PATH/TO/DOCUMENT_ROOT;
}
3.2 server_name
设置虚拟服务器?的名称
Syntax: server_name name ...;
Default: server_name "";
Context: server
server {
server_name example.com www.exam
ple.com;
}
3.3 listen
设置IP的地址和端?口,或服务器?将接受请求的UNIX
域套接字的路路径
Syntax:listen
PORT|address[:port]|unix:/PATH/TO/SOC
KET_FILE
listen address[:port]
[default_server] [ssl] [http2 | spdy]
[backlog=number] [rcvbuf=size]
[sndbuf=size]
Default: listen *:80 | *:8000;
Context: server
listen 127.0.0.1:8000;
listen 127.0.0.1;
listen 8000;
listen *:8000;
listen localhost:8000;
附加参数
default_server # 设定为默认虚拟主机
ssl # 限制仅能够通过ssl连接提供服务
backlog=number # 超过并发连接数后,新
请求进?入后援队列列的?长度
rcvbuf=size # 接收缓冲区?大?小
sndbuf=size # 发送缓冲区?大?小
3.4 tcp_nodelay
在 keepalived 模式下的连接是否启
?用 TCP_NODELAY 选项,当为 off 时延迟发送,合并
多个请求后再?一起发送。默认是 On ,不不延迟发送
Syntax: tcp_nodelay on | off;
Default: tcp_nodelay on;
Context: http, server, location
3.5 sendfile
是否启?用 sendfile 功能,在内核中封装报?文直接发
送默认 Off
Syntax: sendfile on | off;
Default: sendfile off;
Context: http, server, location, if
in location
3.6 server_tokens
是否在错误?页?面和“服务器?”响应头字段中显
示 nginx 版本
Syntax: server_tokens on | off |
build | string;
Default: server_tokens on;
Context: http, server, location
定义路路径相关的配置:
3.7 root
设置web资源的路路径映射;?用于指明请求的 URL 所
对应的?文档的?目录路路径
Syntax: root path;
Default: root html;
Context: http, server, location, if
in location
server {
root /data/web/;
}
3.8 location
在?一个 server 中 location 配置段可存在多个,?用
于实现从 URI 到?文件系统的路路径映射; ngnix会根据
?用户请求的 URI 来检查定义的所有 location ,并找
出?一个最佳匹配,?而后应?用其配置
Syntax: location [ = | ~ | ~* | ^~ ]
uri { ... }
location @name { ... }
Default: —
Context: server, location
位置可以由前缀字符串串或正则表达式定义
= :对 URI 做精确匹配;
location = / {
...
}
http://www.example.com/ 匹配
http://www.example.com/index.html 不不
匹配
^~ :对 URI 的最左边部分做匹配检查,不不区
分字符?大?小写
~ :对 URI 做正则表达式模式匹配,区分字
符?大?小写
~* :对 URI 做正则表达式模式匹配,不不区分
字符?大?小写
不不带符号 :匹配起始于此 URI 的所有的 URI
匹配优先级从?高到低:
= , ^~ , ~/~* , 不不带符号
location = / {
[ configuration A ]
}
location / {
[ configuration B ]
}
location /documents/ {
[ configuration C ]
}
location ^~ /images/ {
[ configuration D ]
}
location ~* \.(gif|jpg|jpeg)$ {
[ configuration E ]
}
""/""请求将匹配配置A,"/index.html"请求
将匹配配置B,"/documents/document.html
"请求将匹配配置C,"/images/1.gif"请求将
匹配配置D,/documents/1.jpg"请求将匹配
配置E.
3.9 alias
路路径别名,?文档映射的另?一种机制
location /images/ {
alias /date/web/;
}
注意: location 中使?用 root 指令和 alias 指令的
意义不不同
root ,给定的路路径对应于 location 中
的 /URI/ 左侧的 /
alias ,给定的路路径对应于 location中
的 /URI/ 右侧的 /
location /images/ {
alias /date/web/;
}
URI:http://www.example.com/images/c
at.jpg
相对应的?文件路路径: /date/web/cat.jpg
------------------------两者区别-----
---------------------
location /images/ {
root /date/web/;
}
URI:http://www.example.com/images/c
at.jpg
相对应的?文件路路径: /date/web/images/c
at.jpg
3.10 error_page
定义错误?页, 以指定的响应状态码进?行行响应
Syntax: error_page code ... [=
[response]] uri;
Default: —
Context: http, server, location, if
in location
error_page 404 /404.html;
error_page 500 502 503 504
/50x.html;
可以使?用URL重定向进?行行错误处理理:
error_page 403 http://example.com/fo
rbidden.html;
error_page 404 =301 http://example.c
om/notfound.html;
3.11 try_files
按顺序检查?文件是否存在,返回第?一个找到的?文件
或?文件夹(结尾加斜线表示为?文件夹),如果所有
的?文件或?文件夹都找不不到,会进?行行?一个内部重定向
到最后?一个参数。只有最后?一个参数可以引起?一个
内部重定向,之前的参数只设置内部 URI 的指向。
最后?一个参数是回退 URI 且必须存在,否则会出现
内部500错误
Syntax: try_files file ... uri;
try_files file ... =code;
Default: —
Context: server, location
location /images/ {
try_files $uri
/images/default.gif; # 注意这?里里是uri,
不不是本地?目录
}
location = /images/default.gif {
expires 30s;
}
定义客户端请求的相关配置:
3.12 keepalive_timeout
设定保持连接超时时?长, 0表示禁?止?长连接
Syntax: keepalive_timeout timeout
[header_timeout];
Default: keepalive_timeout 75s;`
Context: http, server, location
3.13 keepalive_requests
在?一次?长连接上所允许请求的资源的最?大数量量
Syntax: keepalive_requests number;
Default: keepalive_requests 100;
Context: http, server, location
3.14 keepalive_disable
对哪种浏览器?禁?用?长连接
Syntax: keepalive_disable none |
browser ...;
Default: keepalive_disable msie6;
Context: http, server, location
3.15 send_timeout time
向客户端发送响应报?文的超时时?长,此处是指两次
写操作之间的间隔时?长,?而?非整个响应过程的传输
时?长
Syntax: send_timeout time;
Default: send_timeout 60s;
Context: http, server, location
3.16 client_body_buffer_size
?用于接收每个客户端请求报?文的body部分的缓冲区
?大?小;默认为16k;超出此?大?小时,其将被暂存到磁
盘上的由 client_body_temp_path 指令所定义的位

Syntax: client_body_buffer_size
size;
Default: client_body_buffer_size
8k|16k;
Context: http, server, location
3.17 client_body_temp_path
设定?用于存储客户端请求报?文的body部分的临时存
储路路径及?子?目录结构和数量量
Syntax: client_body_temp_path path
[level1 [level2 [level3]]];
Default: client_body_temp_path
client_body_temp;
Context: http, server, location
client_body_temp_path /spool/nginx/c
lient_temp 1 2;
临时?文件的路路径可能如下所示:
/spool/nginx/client_temp/7/45/000001
23457
对客户端进?行行限制的相关配置:
3.18 limit_rate
对客户端进?行行限制的相关配置
Syntax: limit_rate rate;
Default: limit_rate 0;
Context: http, server, location, if
in location
server {
if ($slow) {
set $limit_rate 4k;
}
...
}
3.19 limit_except
限制客户端使?用除了了指定的请求?方法之外的其它?方

Syntax: limit_except method ... { ...
}
Default: —
Context: location
limit_except GET {
allow 192.168.1.0/32;
deny all;
}
?文件操作优化的配置:
3.20 aio
是否启?用aio功能
Syntax: aio on | off |
threads[=pool];
Default: aio off;
Context: http, server, location
location / video / {
aio on;
output_buffers 1 64k;
}
3.21 directio
是否同步(直接)写磁盘,?而?非写缓存,在Linux主
机启?用 O_DIRECT 标记, 则?文件?大于等于给定?大?小
时使?用,例例如directio 4m
Syntax: directio size | off;
Default: directio off;
Context: http, server, location
3.22 open_file_cache
是否缓存查找时发?生错误的?文件?一类的信息
Syntax: open_file_cache off;
open_file_cache max=N
[inactive=time];
Default: open_file_cache off;
Context: http, server, location
3.22 open_file_cache_min_uses
open_file_cache指令的inactive参数指定的时?长内,
?至少被命中此处指定的次数?方可被归类为活动项
Syntax: open_file_cache_min_uses
number;
Default: open_file_cache_min_uses 1;
Context: http, server, location
3.22 open_file_cache_valid
缓存项有效性的检查频率
Syntax: open_file_cache_valid time;
Default: open_file_cache_valid 60s;
Context: http, server, location

原文地址:https://www.cnblogs.com/momenglin/p/10992525.html

时间: 2024-10-03 22:29:22

nginx中ngx_http_core_module模块的相关文章

Nginx 中 HTTP模块初始化

概述 在前面的文章< Nginx 配置解析>简单讲解了通用模块的配置项解析,并且大概讲解了HTTP 模块的配置项解析过程,本文更具体的分析 HTTP 模块的初始化过程.HTTP 模块初始化过程主要有:上下文结构初始化.配置项解析.配置项合并.server 相关端口设置. HTTP 模块接口 ngx_http_module_t 结构体 在 Nginx 中,结构体 ngx_module_t 是 Nginx 模块最基本的接口.对于每一种不同类型的模块,都有一个具体的结构体来描述这一类模块的通用接口.

Nginx中gzip_static模块

在nginx中打开gzip压缩: gzip  on; gzip_min_length  1024; gzip_buffers     4 8k; gzip_types       text/plain application/x-javascript text/css text/html application/xml; 一般情况,需要设置一下gzip_min_length的值,建议设置成大于1k的字节数,小于1k可能会越压越大. 即: gzip_min_length 1024 gzip_typ

nginx中upstream模块的简单示例

本文所指的upstream是nginx的http模块中的内容对nginx来说,upstream可以在nginx上将后端服务器定义为服务器组,将不同后端不同的服务器划分为不同的组,再经过不同组内的调度算法实现负载均衡.和缓存设置类似,upstream需要先在http下定义,再被调用,方可正常使用.示例: http { -- upstream webserver { #定义名为webserver的组 server 192.168.1.111:80; server 192.168.1.222:80;

Nginx中ngx_http_proxy_module模块

该模块允许将请求传递给另?一台服务器?指令:1 ,proxy_pass设置代理理服务器?的协议和地址以及应映射位置的可选 URI .作为协议,可以指定“ http 或 https .可以将地址指定为域名或IP地址,以及可选端?口Syntax: proxy_pass URL;Default: —Context: location, if in location,limit_except如果 proxy_pass 后?面指定了了 uri ,则其会将 location 指定的 uri 给替换掉loca

Nginx中ngx_http_upstream_module模块

用于将多个服务器?定义成服务器?组,?而由 proxy_pass , fastcgi_pass 等指令进?行行引?用upstream backend {server backend1.example.comweight=5;server backend2.example.com:8080;server unix:/tmp/backend3;server backup1.example.com:8080backup;server backup2.example.com:8080backup;}se

nginx中ngx_http_access_module模块

实现基于IP的访问控制功能指令:4.1 allow允许访问指定的?网络或地址Syntax: allow address | CIDR | unix:| all;Default: —Context: http, server, location,limit_except4.2 deny拒绝访问指定的?网络或地址Syntax: deny address | CIDR | unix: |all;Default: —Context: http, server, location,limit_except

nginx中lua脚本输出

在nginx中嵌入lua模块,能够使得nginx服务端的开发大大地方便,尤其是在实现一些额外的统计等小功能的时候.在nginx模块中直接lua嵌入脚本文件,可以直接使用nginx中lua模块的一些函数直接返回数据.可以调用的函数如下:ngx.say(),ngx.print(),return ,ngx.exit()等等,下面介绍一下这些函数的区别: (1)ngx.say()函数是返回该函数的参数加换行的数据,例如ngx.say("hello"),则返回数据hello/r/n, (2)ng

nginx中SSI问题的研究

最近感觉挺爽的,这个项目团队没有一个专门做PHP的,我是第一个进来做PHP(当然还有前端)的,哈哈,我会设计修改出适合我们业务的PHP框架,哈哈,感觉会学到很多东西的样子,前几天在组内20几个前辈面前讲php框架,以及跟大牛们探讨适合我们的php框架,感觉表达能力太差了,知道的东西表达不清楚,还要我的导师去帮我表达,这里感谢下我的导师于洪磊(简称磊哥),磊哥简直就是我的偶像,我没见过那么有深度的程序员,技术牛B这是肯定的了,对技术外的了解超出了我的想象,磊哥看的书很多,涉猎很广泛,尤其在历史和文

nginx中使用perl模块

转载自:http://www.netingcn.com/nginx-perl.html 如果对于一个绝大部分内容是静态的网站,只有极少数的地方需要动态显示,碰巧你又了解一点perl知识,那么nginx + perl的结合就能很好解决问题.要想nginx支持perl脚本,在编译nginx时候需要如下参数: ./configure --with-http_perl_module 如果make时候出现如下类似错误: Can't locate ExtUtils/Embed.pm in @INC (@IN