Nginx 相关参数记录(1)
listen
listen PORT l address [:port]unix:/PATH/TO/SOCKET_ FILE
listen address[:port] [default_ server] [ssI] [http2 | spdy] [backlog=number][rcvbuf=size] [sndbuf=size]
default_ server 设定为默认虚拟主机
ssI 限制仅能够通过ssI连接提供服务
backlog =number 超过并发连接数后,新请求进入后援队列的长度
rcvbuf=size 接收缓冲区大小
sndbuf=size 发送缓冲区大小.
➢注意:
(1)基于port ;
listen PORT; 指令监听在不同的端口
(2)基于ip的虚拟主机
listen IP:PORT; IP地址不同
(3)基于hostname
server_ name fqdn; 指令指向不同的主机名
server_name name
1、虚拟主机的主机名称后可跟多个由空白字符分割的字符串
2、支持 * 通配任意长度的任意字符
server_name .magedu.com www.magedu.
3、支持 ~ 起始的字符做正则表达式模式匹配,性能较低
server_name ~^www\d+.magedu.com$
4、匹配优先级机制从高到低
1、首先是字符串精确匹配 如:www.magedu.com
2、左侧* 通配符 如 * .www.mangedu.com
3、右侧* 通配符 如 www.maggedu.*
4、正则表达式
5、default_server
通配符
修改server_name
在dns解析上添加新的域名
访问
root
设置web资源的路径映射
用于指明请求的url所对应的文档的目录
可以永固http、server、location、if in location
location [ = | ~ | ~* | ^~ ] uri{....}
location @name {}
在一个server中location配置段可以存在多个
用于实现冲uri到文件系统的路径映射
nginx会根据用户请求的uri来检查定义的所有location
并找出一个作家匹配,而后应用其配置
server{
location /images/{
root /data/imgs/;
}
http://www/magediu.com/images/logo.jpg
-->/data.imgs/images/logo.jpg }
将root放在location中
/表示根
查看
/news
编写文件
在/data/sitea下新建news文件夹以及index.html文件
访问www.a.com/news/
此时的www.a.com时无法访问的
此时可以将两者进行分开
相关的添加字符
= : 对URI做精确匹配;
location=/ {
...
}
http://www.a.com/匹配
http://www.a.com/index.html不匹配
^~ : 对URI的最左边部分做匹配检查,不区分字符大小写
~ : 对URI做正则表达式模式匹配,区分字符大小写
~*: 对URI做正则表达式模式匹配,不区分字符大小写
不带符号: 匹配起始于此uri的所有的uri
匹配优先级从高到低:
=、^~、~、~*、不带符号
alias path
路径别名,文档映射的另一种机制,仅能用于lacation上下文
如:
http://www/meaduge.com/bbs/index.html
location /bbs/{
alias /web/forum/;
}
---> /web/forum/index.html
location /bbs/{
root /web/forum;
}
--->/web/forum/bbs/index.html
注意:
location中使用root指令和alies指令的意义不同
root:给文件中路径对应的location中的 /uri/左侧的/
alies:给定的路径对应的location中的/uri/右侧的
root与alias主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上。
root的处理结果是:root路径+location路径
alias的处理结果是:使用alias路径替换location路径
alias是一个目录别名的定义,root则是最上层目录的定义。
还有一个重要的区别是alias后面必须要用“/”结束,否则会找不到文件的,而root则可有可无
修改配置文件
对应的映射
测试访问
index file
指定默认网页文件
注意ngx_http_index_moudle模块
error_page code... [=[request]]uri
模块: ngx_http_core_module
定义错误的页面,以指定响应状态码进行响应
可用位置:http,server,location,if inlocation
error_page 404 /404.html
error_page 404 =200 /404.html
配置文件
错误页面配置