创建一个前台站点
server {
listen 80;
server_name www.nginx.com;
locaiton / {
root /var/www/html/www;
}
}
创建一个后台站点
server {
listen 80;
server_name admin.nginx.com;
locaiton / {
root /var/www/html/admin;
}
}
root与alias
alias 定义路径别名
location ^~ /t/ {
alias /www/root/html/new_t/;
}
如果一个请求的URI是/t/a.html时,web服务器将会返回服务器上的/www/root/html/new_t/a.html的文件。注意这里是new_t,因为alias会把location后面配置的路径丢弃掉,把当前匹配到的目录指向到指定的目录。
location [= | ~ | ~* | ^~ ] uri {...}
= 精确匹配,匹配成功就停止向下匹配
^~ 匹配最左部分,不区分大小写(支持正则)
~ 区分大小写 (支持正则)
~* 不区分大小写(支持正则)
不带符号 匹配始于此uri的所有uri
\ 转义(支持正则)匹配优先级
=
^~
~/~*
不带符号
精确匹配
location = /logo.jpg {
root /var/www/html;
}
区分大小写
location ~ /A.?\.jpg {
root /var/www/html;
}http://localhost/Aa.jpg
http://localhost/aa.jpg
不区分大小写
location ~* /A.?\.jpg {
root /var/www/html;
}http://localhost/Aa.jpg
http://localhost/aa.jpg
URI开始
location ^~ /images {
root /data/nginx/;
}location /api {
root /data/nginx/api;
}
文件名后缀
location ~* \.(gif|jpg|jpeg|bmp|js|css)$ {
root /var/www/html/static;
}
优先级
location = /1.jpg
location /1.jpg
locaiton ~* \.(gif|jpg)$