nginx root 和 alias 配置区别

拓朴棱镜
• 阅读 2565

nginx指定文件路径有两种方式root和alias,这两者的用法区别,使用方法总结了下,方便大家在应用过程中,快速响应。root与alias主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上。

[root]
语法:root path
默认值:root html
配置段:http、server、location、if

[alias]
语法:alias path
配置段:location

实例:

location ~ ^/weblogs/ {
 root /data/weblogs/www.ttlsa.com;
 autoindex on;
 auth_basic            "Restricted";
 auth_basic_user_file  passwd/weblogs;
}

如果一个请求的URI是/weblogs/httplogs/www.ttlsa.com-access.log时,web服务器将会返回服务器上的/data/weblogs/www.ttlsa.com/weblogs/httplogs/www.ttlsa.com-access.log的文件。
[info]root会根据完整的URI请求来映射,也就是/path/uri。[/info]
因此,前面的请求映射为path/weblogs/httplogs/www.ttlsa.com-access.log。

location ^~ /binapp/ {  
 limit_conn limit 4;
 limit_rate 200k;
 internal;  
 alias /data/statics/bin/apps/;
}

alias会把location后面配置的路径丢弃掉,把当前匹配到的目录指向到指定的目录。如果一个请求的URI是/binapp/a.ttlsa.com/favicon时,web服务器将会返回服务器上的/data/statics/bin/apps/a.ttlsa.com/favicon.jgp的文件。

  1. 使用alias时,目录名后面一定要加"/"。

  2. alias可以指定任何名称。

  3. alias在使用正则匹配时,必须捕捉要匹配的内容并在指定的内容处使用。

  4. alias只能位于location块中。

点赞
收藏
评论区
推荐文章
Easter79 Easter79
3年前
tomcat之nginx调度
:安装nginxroot@nginx~yuminstallnginxy配置root@nginx~vim/etc/nginx/nginx.confupstreamtomcats{servernod
芝士年糕 芝士年糕
2年前
nginx 启动、停止、关闭
使用3A服务器搭建的centos系统安装nginx教程在我的往期博客中1,nginx指定配置文件/usr/local/nginx/sbin/nginxc/usr/local/nginx/conf/nginx.conf1c参数指定了要加载的nginx配置文件路径1,从容停止Nginx:killQUIT主进程号2,快速停止Nginx:kil
Stella981 Stella981
3年前
Nginx 配置静态文件 404 问题
使用Nginx做访问静态资源的时候,配置之后访问一直是 404。我的配置是location/dist{      root/usr/local/nginx/html/dist;      }原因:root配置的意思是,会在root配置的目录后跟上URL,组成对应的文件路径。即我的访问h
Wesley13 Wesley13
3年前
LNMP架构之虚拟主机配置、用户认证及域名重定向
本文索引:配置nginx虚拟主机nginx用户认证针对目录针对文件域名重定向配置nginx虚拟主机修改nginx主配置文件root@localhostnginx1.12.2vim/usr/local/nginx/conf/ngi
Stella981 Stella981
3年前
Linux10.2 安装LNMP
Nginx安装  处理静态文件能力更强。  Nginx官网nginx.org,最新版1.13,最新稳定版1.12  Nginx应用场景:web服务、反向代理、负载均衡  Nginx著名分支,淘宝基于Nginx开发的Tengine,使用上和Nginx一致,服务名,配置文件名都一样,和Nginx的最大区别在于Tenging增加了一些
Wesley13 Wesley13
3年前
LNMP架构之访问日志、日志切割、静态文件不记录及过期时间设置
本文索引:Nginx访问日志Nginx日志切割静态文件不记录日志和过期时间Nginx访问日志修改nginx配置文件root@localhostvhostvim/usr/local/nginx/conf/nginx.conf搜索:/log_format
Wesley13 Wesley13
3年前
NGINX配置入门
Nginx是一个轻量级高性能的web服务器,它是为快速响应大量静态文件请求和高效利用系统资源而设计的。与apache使用面向进程或线程的方式处理请求不同,nginx使用异步事件驱动模型在负载下性能更突出。虽然nginx能高效地服务静态文件,但也有人认为nginx处理动态内容并不理想。不像apache服务器,nginx没用使用内嵌解释器的方式来处理动态内容
可莉 可莉
3年前
12.13 Nginx防盗链 12.14 Nginx访问控制 12.15 Nginx解析php相关配置 12.16 Nginx代理
12.13Nginx防盗链因为该配置也使用location板块,所以本节可结合日志管理(不记录和过期时间)一起配置:root@cham002~vim/usr/local/nginx/conf/vhost/test.com.conflocation~^.\.(gif|jp
Stella981 Stella981
3年前
Nginx介绍
Nginx介绍•Nginx官网nginx.org,最新版1.13,最新稳定版1.12•Nginx应用场景:web服务、反向代理、负载均衡•Nginx著名分支,淘宝基于Nginx开发的Tengine,使用上和Nginx一致,服务名,配置文件名都一样,和Nginx的最大区别在于Tenging增加了一些定制化模块,在安全限速方面表现突出
Wesley13 Wesley13
3年前
nginx配置虚拟主机相关教程
1.配置虚拟主机配置虚拟主机即:在一台服务器上启动多个网站;区分不同的网站方式:域名不同,端口不同;1.1通过端口区分虚拟主机1.1.1server节点的介绍nginx的配置文件路径:/usr/local/nginx/conf/nginx.conf一个se
十月飞翔 十月飞翔
3年前
docker 启动nginx,指定映射目录,启动后nginx不退出
1.nginx退出问题:需要把/etc/nginx/nginx.conf里的user由nginx改成当前用户root。3.在/usr/share/nginx/html/index.html里保存了网页,有时候是空的,需要自己创建访问页面root@8afd7f43d8f0:/usr/share/nginx/htmlcat<index.html