一、反向代理

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. MongoDB 数据库备份与恢复

    1.MongoDB数据库备份     1.语法:         mongodump -h dbhost -d dbname -o dbdirectory         参数说明:         ...

  2. Intellij 如何在新窗口中打开项目

    好多程序员都使用intelliJ idea开发项目,由于不小心设置了不在提示打开项目项目方式,所以只能打开一个窗口,而且只能同时打开一个项目,特别郁闷,分享下设置后的效果 工具/原料   Intell ...

  3. hibernate框架(4)---主键生成策略

    主键生成策略 常见的生成策略分为六种 1.increment 由Hibernate从数据库中取出主键的最大值(每个session只取1次),以该值为基础,每次增量为1,在内存中生成主键,不依赖于底层的 ...

  4. ES6原生Promise的所有方法介绍(附一道应用场景题目)

    JS的ES6已经出来很久了,作为前端工程师如果对此还不熟悉有点说不过去.不过如果要问,Promise原生的api一共有哪几个?好像真的可以难倒一票人,包括我自己也忽略了其中一个不常用的API Prom ...

  5. SpringMVC框架(三)from标签(转)

    原文地址:http://blog.csdn.net/kutim/article/details/46682547 spring表单标签   <%@taglib uri="http:// ...

  6. 点击button1弹出form2,并在form2中点击button2来调用form1的方法

    链接地址:http://www.sufeinet.com/thread-1273-1-1.html   1.     private void button1_Click(object sender, ...

  7. 微信扫码支付功能详细教程————Java

    前言  首先声明 我并非原创 原创是 http://blog.csdn.net/wangqiuyun/article/details/51241064 我只是在前辈的基础 加以解释说明 还有自己的一些 ...

  8. Webpack 2 视频教程 012 - 理解Webpack 中的 CSS 作用域与 CSS Modules

    原文发表于我的技术博客 这是我免费发布的高质量超清「Webpack 2 视频教程」. Webpack 作为目前前端开发必备的框架,Webpack 发布了 2.0 版本,此视频就是基于 2.0 的版本讲 ...

  9. Webpack 2 视频教程 018 - 使用可视化图表进行统计分析打包过程

    原文发表于我的技术博客 这是我免费发布的高质量超清「Webpack 2 视频教程」. Webpack 作为目前前端开发必备的框架,Webpack 发布了 2.0 版本,此视频就是基于 2.0 的版本讲 ...

  10. 纯CSS实现箭头、气泡让提示功能具有三角形图标(简单实例)

    <style type="text/css"> /*向上箭头,类似A,只有三个边,不能指定上边框*/ .arrow-up { width: 0px; height: 0 ...