目录
Nginx配置指令详解_location指令
虚拟主机的分类
Nginx支持三种类型的虚拟主机配置
Nginx配置指令详解_location指令
配置location块
语法:
URL // http://ip:port/
location [ = | ~ | ~* | ^~] uri {
...
}
示例1
没有修饰符 表示:必须以指定模式开始,如:
server {
server_name *.*;
location /abc {
……
}
}
注意如下是对的:
http://baidu.com/abc
http://baidu.com/abc?p1=12312&name=w24
http://baidu.com/abc/
http://baidu.com/abcde
示例2
= 表示:必须与指定的模式精确匹配
server {
server_name *.*;
location = /abc {
……
}
}
注意:
那么,如下是对的:
http://baidu.com/abc
http://baidu.com/abc?p1
如下是错的:
http://baidu.com/abc/ http://baidu.com/abcde
示例3
~ 表示:指定的正则表达式要区分大小写
server {
server_name *.*;
location ~ ^/abc$ {
……
}
}
注意:
对的
http://baidu.com/abc
http://baidu.com/abc?name=wcc&password=123
错误
http://baidu.com/ABC
http://baidu.com/abc/
http://baidu.com/abcde
示例4
~* 表示:指定的正则表达式不区分大小写
server {
server_name *.*;
location ~* ^/abc$ {
……
}
}
注意:
那么,如下是对的:
http://baidu.com/abc
http://baidu..com/ABC
http://baidu..com/abc?p1=11&p2=22
如下是错的:
http://baidu..com/abc/
http://baidu..com/abcde
优先级
示例
location = / {
# 只匹配请求 "/"
[ configuration A ]
}
location / {
# 匹配任何请求,因为所有请求都是以"/"开始
# 但是更长字符匹配或者正则表达式匹配会优先匹配
[ configuration B ]
}
location /documents/ {
# 匹配所有 /documents/ 开头的请求,在没有正则表
达
# 式匹配时选择该locaiton
[ configuration C ]
}
location ^~ /images/ {
# 匹配任何以 /images/ 开始的请求,并停止匹配其它
location
[ configuration D ]
}
location ~* .(gif|jpg|jpeg)$ {
# 匹配以 gif, jpg, or jpeg结尾的请求.
# 但是所有 /images/ 目录的请求将由
[Configuration D]处理.
[ configuration E ]
}
结论:
1、 / -> 匹配A
2、 /index.html -> 匹配B
3、 /documents/a.html -> 匹配C
4、 /images/1.gif -> 匹配D
5、 /documents/1.jpg -> 匹配E
配置请求的根目录
Web服务器接收到网络请求之后,首先要在服务器端指定目录中寻找请求资源。在Nginx服务器中,指令root就是用来配置这个根目录的。
语法结构:
root path;
path为Nginx服务器接收到请求以后查找资源的根目录路径。
示例:
location /data/
{
root /localtion1;
}
注意:
当location块接收到“data/index.htm”的请求时,将在几 locationtest1/data/目录下找到index.htm响应请求。
实时效果反馈
1. 在Nginx核心配置文件中location指令url匹配顺序_____。
A =、^~、~*、~
B ^~、=、~*、~
C =、^~、~、~*
D ~、^~、~*、=
虚拟主机的分类
概述
虚拟主机是一种特殊的软硬件技术,它可以将网络上的每一台 计算机分成多个虚拟主机,每个虚拟主机可以独立对外提供 www服务,这样就可以实现一台主机对外提供多个web服务, 每个虚拟主机之间是独立的,互不影响的。
Nginx支持三种类型的虚拟主机配置
基于IP的虚拟主机
基于端口的虚拟主机
基于域名的虚拟主机
实时效果反馈
1. 下列不属于Nginx虚拟主机分类的是。
A 基于域名的虚拟主机
B 基于端口的虚拟主机
C 基于nat的虚拟主机
D 基于IP的虚拟主机
2. 下列描述Nginx虚拟主机错误的是。
A 通过域名来区分虚拟主机,应用于外部网站
B 通过端口来区分虚拟主机,应用于公司内部网站,网站后台
C ip虚拟主机几乎不用
D 虚拟主机加大了服务器成本