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
nginx中ngx_http_core_module模块的更多相关文章
- nginx中Geoip_module模块的使用
nginx中Geoip_module模块的使用 .安装模块,nginx也是通过yum安装 yum install nginx-module-geoip -y # 可以看到模块的链接库文件 [root@ ...
- Nginx中ngx_http_proxy_module模块
该模块允许将请求传递给另⼀一台服务器器指令:1 ,proxy_pass设置代理理服务器器的协议和地址以及应映射位置的可选 URI .作为协议,可以指定“ http 或 https .可以将地址指定为域 ...
- Nginx中location模块的详细配置(含示例)
题记 此前在配置Nginx location模块的时候玩出了一些bug,折腾了一段时间.后来网上也查阅了相关的资料,看着也比较混乱.周末有空想着好好整理一下location模块的配置,结合自己的亲手实 ...
- nginx中ngx_http_ssl_module模块
此模块为HTTPS提供必要的⽀支持worker_processes auto;http {...server {listen 443 ssl;keepalive_timeout 70;ssl_prot ...
- nginx中ngx_http_gzip_module模块
⽤用gzip⽅方法压缩响应数据,节约带宽gzip on;gzip_min_length 1000;gzip_proxied expired no-cache no-store private auth ...
- nginx中的模块分类及常见核心模块有哪些
1.模块分类 核心模块:是 Nginx 服务器正常运行必不可少的模块,提供错误日志记录 .配置文件解析 .事件驱动机制 .进程管理等核心功能 标准HTTP模块:提供 HTTP 协议解析相关的功能,比如 ...
- Nginx中ngx_http_upstream_module模块
用于将多个服务器器定义成服务器器组,⽽而由 proxy_pass , fastcgi_pass 等指令进⾏行行引⽤用upstream backend {server backend1.example. ...
- Nginx中ngx_http_log_module模块
指定⽇日志格式记录请求指令: access_log设置缓冲⽇日志写⼊入的路路径,格式和配置Syntax: access_log path [format[buffer=size] [gzip[=lev ...
- nginx中ngx_http_access_module模块
实现基于IP的访问控制功能指令:4.1 allow允许访问指定的⽹网络或地址Syntax: allow address | CIDR | unix:| all;Default: —Context: h ...
随机推荐
- linux中的pvmove,pvremove,pvs,pvscan
PV,VG,LV的关系和操作 PV,VG,LV构成了一种易于管理拥有一个或多个硬盘的主机的文件系统,这些硬盘可能只有一个分区也可能有多个.通过将这些物理存在的分区(或称为卷)PV(physical v ...
- 日常工作问题解决:rhel7下配置多路径设备
目录 1.情景描述 2.安装多路径软件 2.1 安装多路径 2.2检查安装情况 2.3 重启系统 2.4 将多路径软件添加至内核模块 2.5 检查内核添加情况 2.6 启动multipath服务 2. ...
- NPM的安装和使用权限问题
npm之前在默认情况下装过@angular/cli, 安装和使用都没有任何问题, 但是有的包全局安装的时候会提示权限不足, 于是网上搜索了修复此问题的方法, 就是将npm的全局安装目录搬到有权限的文件 ...
- 【转载】熟练利用google hacking来辅助我们快速渗透
转载于:https://klionsec.github.io/2014/12/14/search-hacking/?tdsourcetag=s_pcqq_aiomsg 0x01 google hack ...
- web平台大数据请求传输性能处理
在XMLHttpRequest请求中使用ArrayBuffer方式,和后端服务器进行二进制的传输交互. 在项目中发现随着用户增长,部分前端功能,请求的数据量越来越大,传统的josn的方式,在下载.序列 ...
- WUSTOJ 1290: 01字串(Java)
题目链接:
- 防止vi粘贴时自动添加缩进的方法
使用Xshell连接Linux服务器,使用vi打开文件进行粘贴时,会自动在行首添加很多空格,导致格式错乱.可以用如下方法剞劂 在拷贝前输入:set paste (这样的话,vim就不会启动自动缩进,而 ...
- PHP运行机制和原理
以echo "Hello World";为例 经历五个步骤:1.扫描(scanning):先进行语法分析和词法分析,然后将index.php内容变成一个个语言片段(token ar ...
- Asp.Net Core 轻松学系列-1阅读指引目录
https://www.cnblogs.com/viter/p/10474091.html 目录 前言 1. 从安装到配置 2. 业务实现 3. 日志 4. 测试 5. 缓存使用 6.网络和通讯 7. ...
- 【原创】大叔经验分享(89)docker启动openjdk执行jmap报错
docker启动openjdk后,可以查看进程 # docker exec -it XXX jps 10 XXX.jar 可见启动的java进程id一直为10,然后可以执行jvm命令,比如 # doc ...