一、反向代理

1、多域名跳转(location)
location / {
}
location /admin {
}
 
location / {
}
注意;web后面的"/",如果web为文件,没问题;如果web为文件夹就必须加斜杠,不然会出错。
 

2、rewirite(重定向)

server {
server_name www.test.com;
rewirite ^/(.*)$ http://www.newtest.com/$1 permanent;
}
将(.*)作为正则匹配的第一个分组,$1.
www.test.com/a/b/c.html =>www.newtest.com/a/b/c.html
 

3.alias(别名)

location /i {
alias /var/www/html/images/;
}
请求/i/a.jpg资源时,Nginx会在服务器上查找/var/www/html/images/a.jpg。
/i 就是/var/www/html/images/的别名,也就是 /i == /var/www/html/images/
与root的区别是:/i会作为根目录后面的资源。如上面root中的资源请求为:/var/www/html/images/i
 

4.location(定位)

location = / {
configaaaa
}
location / {
configaaaa
}
 
location ^~ /images/ {
configaaaa
}
location ~* \.(gif|jpg|jpeg|swk)$ {
configaaaa
}
各符号的含义:
~ 表示区分大小写,且匹配
~* 表示不区分大小写,且匹配
!~ 表示区分大小写,且不匹配
!~* 表示不区分大小写,且不匹配
* 表示任意
^ 表示开头
$ 表示结尾
. 需要转义
 
 

5、特殊

location / {
autoindex on; #目录列表
}
 
allow、deny允许和禁止某些ip
 

6、URL重写应用

if命令
比如,根据请求的资源存在与否进行URL重定向。
~ 表示区分大小写,且匹配
~* 表示不区分大小写,且匹配
!~ 表示区分大小写,且不匹配
!~* 表示不区分大小写,且不匹配
-f 和!-f 文件存在与否
-d 和!-d 目录存在与否
-e和!-e 文件或目录存在与否
-x和!-x 文件可执行与否
比如:
location ~* \.(gif|jpg|jpeg|swk)$ {
if (!-f $request_filename)
{
root /var/www/html/img;
}
 
if (!-f $request_filename)
{
root /var/www/html/imgaes;
}
}
会一次匹配,最后如果没有则会返回404错误。
 
rewrite命令
rewirite ^/(.*)$ http://www.newtest.com/$1 permanent;
最后一项为标记,常用的标记有:
last:表示完成rewrite之后搜索对应的URI或location
break:终止
redirect:302普通重定向
permanent :301永久重定向
 
set命令
一般为变量设置值。例如:
location / {
proxy_pass http://127.0.0.1:8000;
set $query $query_string;
rewirite /aaa http://www.newtest.com/?$query;
}
如果$query_string=111,如果请求/aaa则会重定向到http://www.nettest.com/?age=111
 
break命令
匹配到后,终止匹配

Nginx常用功能(5)的更多相关文章

  1. 3.Nginx常用功能介绍

    Nginx常用功能介绍 Nginx反向代理应用实例 反向代理(Reverse Proxy)方式是指通过代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器,并且从内部网络服 ...

  2. Nginx常用功能

    3.Nginx常用功能 3.1 反向代理服务器 3.1.1.demo2 a.我在tomcat下部署了一个javaweb项目,tomcat安装的服务器IP为:192.168.37.136,部署的项目在t ...

  3. Nginx常用功能配置二

    Nginx常用功能配置二 Nginx location匹配设置 location作用:可以根据用户请求的URI来执行不同的应用,根据用户请求的网站的地址URL匹配. location语法: locat ...

  4. Nginx常用功能配置一

    Nginx常用功能配置 参数include配置 说明:如果日常工作中server标签存在太多,可以采用include配置模式,Nginx的主配置文件包含的所有虚拟主机的子配置文件会统一放入extra目 ...

  5. nginx常用功能和配置

    nginx常用功能和配置 1.nginx常用功能和配置 1.1 限流 1.2 压力测试工具--Ab 1.2.1安装 1.2.2 测试 1.2.3 返回值 1.3 limit_conn_zone 1.4 ...

  6. 前端开发掌握nginx常用功能之rewrite

    上一篇博文对nginx最常用功能的server及location的匹配规则进行了讲解,这也是nginx实现控制访问和反向代理的基础.掌握请求的匹配规则算是对nginx有了入门,但是这些往往还是不能满足 ...

  7. nginx常用功能配置

    一.规范优化nginx配置文件 nginx的主配置文件为nginx.conf,主配置文件包含的所有虚拟主机的子配置文件会统一放入extra目录中,虚拟主机的配置文件按照网站的域名或功能取名,例如www ...

  8. 前端开发掌握nginx常用功能之server&location匹配规则

    nginx主要是公司运维同学必须掌握的知识,涉及到反向代理.负载均衡等服务器配置.前端开发尤其是纯前端开发来说对nginx接触的并不多,但是在一些情况下,nginx还是需要前端自己来搞:例如我们公司的 ...

  9. 5.8 Nginx 常用功能的配置

随机推荐

  1. 翻译:MariaDB DATABASE()

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  2. 【转载】解决refreshing gradle project 和Building gradle project info 一直卡住\速度慢

    转载: http://blog.csdn.net/xx326664162/article/details/52002616 文章出自:薛瑄的博客 分析原因: 更改Gradle的版本后,或者更新AS后, ...

  3. 管道设计CAD系统中重量重心计算

    管道设计CAD系统中重量重心计算 eryar@163.com Abstract. 管道设计CAD系统中都有涉及到重量重心计算的功能,这个功能得到的重心数据主要用于托盘式造船时方便根据重心设置吊装配件. ...

  4. java.util.ConcurrentHashMap (JDK 1.8)

    1.1 java.util.ConcurrentHashMap继承结构 ConcurrentHashMap和HashMap的实现有很大的相似性,建议先看HashMap源码,再来理解Concurrent ...

  5. bzoj 2298: [HAOI2011]problem a

    Description 一次考试共有n个人参加,第i个人说:"有ai个人分数比我高,bi个人分数比我低."问最少有几个人没有说真话(可能有相同的分数) Input 第一行一个整数n ...

  6. lesson - 11 正则表达式

    正则就是有一定规律的字符串,有几个特殊符号很关键(. * + ? | ),我们平时不仅可以用命令行工具grep/sed/awk去引用正则,而且还可以把正则嵌入在nginx.apache.甚至php.p ...

  7. Concurrency Is Not Parallelism (Rob pike)

    Rob pike发表过一个有名的演讲<Concurrency is not parallelism>(https://blog.golang.org/concurrency-is-not- ...

  8. Web API系列之一 Rest简介

    1.REST:Representational State Transfer表征状态转移,是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格.REST设计风格有如下几点: ...

  9. FPGA浮点数定点化

    因为在普通的fpga芯片里面,寄存器只可以表示无符号型,不可以表示小数,所以在计算比较精确的数值时,就需要做一些处理,不过在altera在Arria 10 中增加了硬核浮点DSP模块,这样更加适合硬件 ...

  10. appium 解锁九宫格

    很多人在自动化的过程中,对解锁9宫格有很多麻烦,特别是app上的有些整个放在整个view中,这就给我们测试解锁九宫格带来问题了,笔者尝试了去解决,但是都没有找到一个很好的方案,那么我就试着先去通过安卓 ...