alias

server {
listen 80;
server_name www.xxxpc.net ~^www\.site\d+\.net$;
error_page 500 502 503 504 404 /50x.html;
location /about {
alias /data/nginx/pc/html;
index index.html;
}
location /host.pass {
deny all;
}
}
当访问www.xxxpc.net/about的时候,会直接跳转访问/data/nginx/pc/html/index.html这个资源

location的详细使用

uri:资源定位;当访问http://www.xxxpc.net/about/index.html时,uri为/about/index.html
url:url是包含协议的;http://www.xxxpc.net/about/index.html这整个就是一个url =   #用于标准uri前,需要请求字串与uri精确匹配,如果匹配成功就停止向下匹配并立即处理请求。
~   #用于标准uri前,表示包含正则表达式并且区分大小写
!~  #用于标准uri前,表示包含正则表达式并且区分大小写不匹配
~*  #用于标准uri前,表示包含正则表达式并且不区分大写
!~* #用于标准uri前,表示包含正则表达式并且不区分大小写不匹配
^~  #用于标准uri前,表示包含正则表达式并且匹配以什么开头
$   #用于标准uri前,表示包含正则表达式并且匹配以什么结尾
\   #用于标准uri前,表示包含正则表达式并且转义字符。可以转. * ?等
*   #用于标准uri前,表示包含正则表达式并且代表任意长度的任意字符

"=" 精确匹配的应用

server {
listen 80;
server_name www.xxxpc.net ~^www\.site\d+\.net$;
location = / {
root /data/nginx/pc/html;
index index.html;
}
}
一般都在根下做一个完全匹配,如果匹配的是根就不向下搜索了

"~" 匹配区分大小写的应用

location ~ /A.?\.jpg{
root /data/nginx/pc/images;
index index.html;
}
区分大小写,前面A必须是大写A,后面的.?匹配单个字符可以是随机,后面的jpg必须是小写的jpg

"~*" 匹配不区分大小写的应用

location ~* /A.?\.jpg{
root /data/nginx/pc/images;
index index.html;
}
不区分大小写,前面的A可以是大写也可以是小写,后面的jpg可以是小写也可以是大写

文件名后缀匹配应用

location ~* \.(gif|jpg|jpeg|bmp|png|tiff|tif|ico|wmf|js)$ {
root /data/nginx/pc/images;
index index.html;
}
不区分大小写,并且访问上面指定的后缀名的资源都到指定的根路径中去寻找

匹配的优先级

location优先级:(location =) > (location 完整路径) > (location ^~ 路径) > (location ~,~* 正则顺序) > (location 部分起始路径) > (/)
其中location完整路径指的是:
location /images {
root /data/nginx/pc; #在/data/nginx/pc下有images目录,则就是完整路径
idnex index.html;
}

实现访问控制

   location /images {
root /data/nginx/pc;
index index.html;
allow 192.168.38.1;
deny 192.168.38.0/24(deny all;);
}
执行顺序是从上往下,先执行allow允许一部分人访问指定资源,然后deny拒绝一些人访问

Nginx账户认证功能

[root@app conf.d]# yum install httpd-tools -y    #安装工具,生成认证文件
[root@app conf.d]# htpasswd -bc /apps/nginx/conf/.htpasswd user1 123456 #-b是使用命令行的密码,不适用默认;-c创建文件;默认是md5加密
[root@app conf.d]# htpasswd -b /apps/nginx/conf/.htpasswd user2 123456 #第二次不需要加-c,如果第二次添加-c,则会把生成的文件覆盖 location /login {
root /data/nginx/pc/html;
index index.html;
auth_basic "input password"; #提示信息
auth_basic_user_file /apps/nginx/conf/.htpasswd; #指定账户认证文件的路径
}
经过账户认证登录后,才可以看到/data/nginx/pc/html/login/下面的默认站点主页面;一般用于内部人员调试或者查询时使用

自定义错误页面

server {
listen 80;
server_name www.xxxpc.net ~^www\.site\d+\.net$;
error_page 500 502 503 504 404 /error.html; #当Nginx捕获到这些状态码时,会调用error.html所定义的错误页面
location = /error.html { #定义错误页面的指定位置
root /data/nginx/pc/html;
}
}
可以每个域名定义一个错误页面

自定义访问日志和错误日志

server {
listen 80;
server_name www.xxxpc.net ~^www\.site\d+\.net$;
access_log /var/log/nginx/www.xxxpc.net-access.log main; #指定生成日志的路径和访问日志名字,并且指定访问日志的格式
error_log /var/log/nginx/www.xxxpc.net-error.log; #指定错误日志的日志名和路径
location /login {
root /data/nginx/pc/html;
index index.html;
access_log /var/log/nginx/www.xxxpc.net-login_access.log main;
error_log /var/log/nginx/www.xxxpc.net-login_error.log; #自定义访问日志和错误日志可以设置到某个location中
}
}
每个域名可以单独定义访问和错误日志;server中有自定义的日志,则以server为准;如果server中没有,则以http中的日志格式为准

nginx之别名、location使用的更多相关文章

  1. nginx语法之location详解

    Location语法优先级排列 匹配符 匹配规则 优先级 = 精确匹配 ^~ 以某个字符串开头 ~ 区分大小写的正则匹配 ~* 不区分大小写的正则匹配 !~ 区分大小写不匹配的正则 !~* 不区分大小 ...

  2. Nginx 配置指令location 匹配符优先级和安全问题【转】

    Nginx配置指令location匹配符优先级和安全问题 使用nginx 很久了,它的性能高,稳定性表现也很好,得到了很多人的认可.特别是它的配置,有点像写程序一样,每行命令结尾一个";&q ...

  3. Nginx教程(四) Location配置与ReWrite语法

    Nginx教程(四) Location配置与ReWrite语法 1 Location语法规则 1.1 Location规则 语法规则: location [=|~|~*|^~] /uri/ {- } ...

  4. nginx入门与实战 安装 启动 配置nginx Nginx状态信息(status)配置 正向代理 反向代理 nginx语法之location详解

    nginx入门与实战 网站服务 想必我们大多数人都是通过访问网站而开始接触互联网的吧.我们平时访问的网站服务 就是 Web 网络服务,一般是指允许用户通过浏览器访问到互联网中各种资源的服务. Web ...

  5. nginx之全局设置,location,虚拟主机,日志管理

    nginx之全局设置,location,虚拟主机,日志管理 worker_processes 1;//子进程,cpu数*核数 ****************全局设置************** ** ...

  6. nginx配置中location匹配规则详解

    一.概述 nginx官方文档给出location语法如下: 1 location [=|~|~*|^~] uri { … } 其中,方括号中的四种标识符是可选项,用来改变请求字符串和uri的匹配方式. ...

  7. Nginx 核心配置-location的登录账户认证实战篇

    Nginx 核心配置-location的登录账户认证实战篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.使用ab命令模拟网站攻击 1>.安装httpd-tools工具 ...

  8. Nginx 核心配置-location的匹配案例实战篇

    Nginx 核心配置-location的匹配案例实战篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.location语法规则介绍 在没有使用正则表达式的时候,nginx会先在 ...

  9. Nginx教程(四) Location配置与ReWrite语法 (转)

    Nginx教程(四) Location配置与ReWrite语法 1 Location语法规则 1.1 Location规则 语法规则: location [=|~|~*|^~] /uri/ {… } ...

  10. Nginx中的 location 匹配和 rewrite 重写跳转

    Nginx中的location匹配和rewrite重写跳转 1.常用的Nginx正则表达式 2.location 3.rewrite 4.rewrite实例 1.常用的Nginx正则表达式: ^ :匹 ...

随机推荐

  1. C# vb .net实现翻转特效滤镜

    在.net中,如何简单快捷地实现Photoshop滤镜组中的翻转特效效果呢?答案是调用SharpImage!专业图像特效滤镜和合成类库.下面开始演示关键代码,您也可以在文末下载全部源码: 设置授权 第 ...

  2. python爬虫-有道翻译-js加密破解

    有道翻译-js加密破解 这是本地爬取的网址:http://fanyi.youdao.com/ 一.分析请求 我们在页面中输入:水果,翻译后的英文就是:fruit.请求携带的参数有很多,先将参数数据保存 ...

  3. Tornado + Bootstrap 快速搭建自己的web应用

    前言 最近用 python tordado 框架, 整了一个模板页面, 用于接入与发布数据的展示, tornado 简单易用, bootstrap 比较流行, 用起来也省事, 配合起来做些小案例非常迅 ...

  4. sense chrome扩展工具安装问题

    下载一个chrome的插件,只能在国内下了.有个什么插件网 .下载完之后是  .crx 格式的.直接拖到 chrome的扩展工具里,显示,插件有问题.无语 参考了一个网上的教程. 1.先将扩展名 .c ...

  5. 如何在SAP gateway系统配置路由到后台系统的OData服务路径

    看这张架构图,SAP Gateway系统也叫frontend系统,通过RFC远程调用SAP后台系统的OData服务实现. 以SAP CRM Fiori应用My Opportunity为例,使用事务码/ ...

  6. 【书评:Oracle查询优化改写】第14章 结尾章

    [书评:Oracle查询优化改写]第14章 结尾章 一.1  相关参考文章链接 前13章的链接参考相关连接: [书评:Oracle查询优化改写]第一章 http://blog.itpub.net/26 ...

  7. 【Oracle RAC】Linux系统Oracle18c RAC安装配置详细记录过程(图文并茂)

    本文Oracle 18c GI/RAC on Oracle Linux step-by-step 的安装配置步骤,同时也包含dbca 创建数据库的过程. 1. 关闭SELINUX,防火墙vi /etc ...

  8. Linux DHCP 中继

    具体到一个公司的网络环境中,不可能只有一个VLAN,更不可能对每个VLAN都架设一个DHCP服务器,这时就要做一个DHCP的中继,使得DHCP的广播可以通过VLAN. 实验拓扑 三层交换机下面连接一台 ...

  9. CAD中如何将图形按一定的比例放大或缩小

    1.双击CAD快捷键图标,打开CAD绘图界面: 2.以正五边形为例,点击左边的正多边形按钮: 3.绘制好后得到五边形图形: 4.给图形做好尺寸标注方便直观比较: 5.选择图像在命令行输入sc命令,按键 ...

  10. js正则表达式验证、匹配数字、匹配字符串、匹配中文、匹配任意字符备忘录

    本文转自:91博客 :原文地址:http://www.9191boke.com/235792704.html 正则表达式或“regex”用于匹配字符串的各个部分,下面是我创建正则表达式的备忘录.包括一 ...