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. Chrome 谷歌开发者工具使用窍门

    我们这里介绍主要的几块:Console.Source.Network Console 大家都有用过各种类型的浏览器,每种浏览器都有自己的特色,本人拙见,在我用过的浏览器当中,我是最喜欢Chrome的, ...

  2. NIO开发Http服务器(5-完结):HttpServer服务器类

    最近学习了Java NIO技术,觉得不能再去写一些Hello World的学习demo了,而且也不想再像学习IO时那样编写一个控制台(或者带界面)聊天室.我们是做WEB开发的,整天围着tomcat.n ...

  3. centos7安装face_recognition踩各种坑

    要在阿里云服务器上部署face_recognition.用的是centos7.  千辛万苦啊.感谢网上的各种解答.回报社会,我也把各种坑写下了.整理的有点乱.不过仔细看,有干货的. 感谢这个博主Fat ...

  4. 你需要知道的 5 个 Linux 新手会犯的失误

    Linux 爱好者们分享了他们犯下的一些最大错误. 终身学习是明智的 —— 它可以让你的思维敏捷,让你在就业市场上更具竞争力.但是有些技能比其他技能更难学,尤其是那些小菜鸟错误,当你尝试修复它们时可能 ...

  5. Java 之 Response 文件下载案例

    文件下载需求: 1. 页面显示超链接 2. 点击超链接后弹出下载提示框 3. 完成图片文件下载 分析过程: 1. 超链接指向的资源如果能够被浏览器解析,则在浏览器中展示,如果不能解析,则弹出下载提示框 ...

  6. Integer装箱拆箱、参数传递

    拆箱装箱 举个例子 @Test public void testEquals() { int int1 = 12; int int2 = 12; Integer integer1 = new Inte ...

  7. 技术圈术语之LDAP

    导语:阅读一些程序的文档时经常看到支持ldap,由于对这个协议不太熟悉,平时也没有用过,所以一直也没怎么留意,今天看rabbitmq的文档又发现了ldap相关的介绍,于是想把这个问题搞清楚. 一.LD ...

  8. Hybris服务器启动日志分析

    build文件检测,使用b2c_acc recipit启动服务器:/home/jerrywang/Hybris/installer/recipes/b2c_acc/build.gradle The T ...

  9. SuperMap iServer之CAS单点登陆搭建流程

    一.安装CAS 1.环境准备 cas-server-3.5.2-release.zip apache-tomcat-7.0.42.zip supermap_iserver_8.1.1a 2.安装CAS ...

  10. Upgrade Windows Server 2016 to Windows Server 2019

    Pre-Upgrade Upgrade path: Windows Server 2016 can be upgraded to Windows 2019 in a single upgrade pr ...