nginx菜鸟教程六

location [=|~|~*|^~] patt {

}

中括号可以不写任何参数,此时称为一般匹配

也可以写参数

因此,大类型可以分为3种

location = patt {} [精准匹配]

location patt{}  [一般匹配]

location ~ patt{} [正则匹配]

--------------------------------------------

如何发挥作用?:

首先看有没有精准匹配,如果有,则停止匹配过程.

location = patt {

config A

}

如果 $uri == patt,匹配成功,使用configA

location = / {

root   /var/www/html/;

index  index.htm index.html;

}

location / {

root   /usr/local/nginx/html;

index  index.html index.htm;

}

如果访问  http://xxx.com/

定位流程是 

1: 精准匹配中 ”/”   ,得到index页为  index.htm

2: 再次访问 /index.htm , 此次内部转跳uri已经是”/index.htm” ,

根目录为/usr/local/nginx/html

3: 最终结果,访问了 /usr/local/nginx/html/index.htm

--正则

location / {

root   /usr/local/nginx/html;

index  index.html index.htm;

}

location ~ image {

root /var/www/image;

index index.html;

}

如果我们访问  http://xx.com/image/logo.png

此时, “/” 与”/image/logo.png” 匹配

同时,”image”正则 与”image/logo.png”也能匹配,谁发挥作用?

正则表达式的成果将会使用.

图片真正会访问 /var/www/image/logo.png

--一般匹配

location / {

root   /usr/local/nginx/html;

index  index.html index.htm;

}

location /foo {

root /var/www/html;

index index.html;

}

我们访问 http://xxx.com/foo

对于uri “/foo”,   两个location的patt,都能匹配他们

即 ‘/’能从左前缀匹配 ‘/foo’, ‘/foo’也能左前缀匹配’/foo’,

此时, 真正访问 /var/www/html/index.html

原因:’/foo’匹配的更长,因此使用之.;

时间: 2024-11-24 16:02:07

nginx菜鸟教程六的相关文章

Nginx使用教程(六):使用Nginx缓存之FastCGI缓存

启用FastCGI缓存 <br\>编辑必须启用缓存的虚拟主机配置文件. nano /etc/nginx/sites-enabled/vhost 将以下行添加到server{}指令之外的文件顶部: fastcgi_cache_path /etc/nginx/cache levels=1:2 keys_zone=MYAPP:100m inactive=60m; fastcgi_cache_key "$scheme$request_method$host$request_uri"

nginx菜鸟教程五

nginx定时任务完成日志切割 date -d yesterday date -s '2014-11-27 08:55:00' clock -w date -d yesterday +%Y%m%d --日志脚本 #!/bin/bash base_path='/usr/local/nginx/logs' log_path=$(date -d yesterday +"%Y%m") day=$(date -d yesterday +"%d") mkdir -p $base

nginx菜鸟教程四

nginx允许针对不同的server做不同的log #access_log  logs/host.access.log  main; 说明 该server,它的访问日志的文件是logs/host.access.log, 使用的格式"main"格式 除了main格式,你可以自定义其他格式. main格式是我们定义好一种日志的格式,并起这个名字,便于引用. 以下的例子,main类型的日志,记录的remote_addr...http_x_forwarded_for #log_format  

nginx菜鸟教程三

--nginx虚拟主机配置 //全局区 worker_processes 1;//有1个工作的子进程,可以自行修改,但太大无益,因为要争夺设置为CPU数*核数 events { //一般是配置nginx链接的特性 //如1个word能同事允许多少连接 worker_connections  1024;//这是指一个子进程最大允许连接1024个链接 } //这是配置http服务器的主要段 http { server {//这是虚拟主机段 location  {//定位,把有特殊的路径或文件再次定位

nginx菜鸟教程七

原理: 浏览器---请求----> 声明可以接受 gzip压缩 或 deflate压缩 或compress 或 sdch压缩 从http协议的角度看--请求头 声明 acceopt-encoding: gzip deflate sdch  (是指压缩算法,其中sdch是google倡导的一种压缩方式,目前支持的服务器尚不多) 服务器-->回应---把内容用gzip方式压缩---->发给浏览器 浏览<-----解码gzip-----接收gzip压缩内容---- gzip配置的常用参数

【Nginx】--nginx入门教程

nginx入门教程 一.概述    什么是nginx?   Nginx (engine x) 是一款轻量级的Web 服务器 .反向代理服务器及电子邮件(IMAP/POP3)代理服务器.   什么是反向代理? 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器. 二.常用命令 nginx 的使用比较简单,就是几

nginx入门教程

nginx入门教程 一.概述    什么是nginx?   Nginx (engine x) 是一款轻量级的Web 服务器 .反向代理服务器及电子邮件(IMAP/POP3)代理服务器.   什么是反向代理? 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器. 二.常用命令 nginx 的使用比较简单,就是几

Markdown教程(精简了菜鸟教程)

Markdown的使用教程 一. Markdown标题 使用 # 号可表示 1-6 级标题,一级标题对应一个 # 号,二级标题对应两个 # 号,以此类推. # 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题 二. Markdown段落格式 段落的换行是使用两个以上空格加上回车 Markdown 可以使用以下几种字体: *斜体文本* _斜体文本_ **粗体文本** __粗体文本__ ***粗斜体文本*** ___粗斜体文本___ 你可以

Nginx系列教程(二)| 一文带你读懂Nginx的正向与反向代理

作者:JackTian 微信公众号:杰哥的IT之旅(ID:Jake_Internet) LAMP 系列导读 01. LAMP 系列教程(一)| 详解 Linux 环境下部署 HTTPD 服务 02. LAMP 系列教程(二)| 如何在 Linux 环境下部署 AWStats 分析系统来监控 Web 站点? 03. LAMP 系列教程(三)| 一文读懂 HTTPD 服务的访问控制 04. LAMP 系列教程(四)| MySQL 数据库系统(一) 05. LAMP 系列教程(五)| MySQL 数据