nginx配置location root简单方法记录

 更新时间:2023年12月08日 09:23:24   作者:bw_0927  
Location是Nginx中一个非常核心的配置,下面这篇文章主要给大家介绍了关于nginx配置location root的相关资料,文中介绍的非常详细,需要的朋友可以参考下

前言

nginx指定文件路径有两种方式root和alias,root与alias主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上。

最基本的区别

alias 指定的目录是准确的,给location指定一个目录。root 指定目录的上级目录,并且该上级目录要含有locatoin指定名称的同名目录
以root方式设置资源路径:

语法: root path;
配置块: http、server、location、if

以alias 方式设置资源路径

语法: alias path;
配置块: location

Example:

location /img/ {
	alias /var/www/image/;
}
#若按照上述配置的话,则访问/img/目录里面的文件时,ningx会自动去/var/www/image/目录找文件
location /img/ {
	root /var/www/image;
}
#若按照这种配置的话,则访问/img/目录下的文件时,nginx会去/var/www/image/img/目录下找文件

注意: 

1.使用alias时,目录名后面一定要加”/“。
2.使用alias标签的目录块中不能使用rewrite的break。
3.alias在使用正则匹配时,必须捕捉要匹配的内容并在指定的内容处使用。
4.alias只能位于location块中

配置alias支持PHP fastcgi解析

location /app {
	alias /project/app/;
	index index.php;			
	location ~ \.php$ { #方案一
		fastcgi_pass 127.0.0.1:9100;
		fastcgi_index  index.php;
		include fastcgi.conf;
	}
}

#location ~ /app/.+\.php$ { #方案二
#	rewrite /app/(.+\.php) /$1 break;
#	include fastcgi.conf;
#	fastcgi_pass 127.0.0.1:9100;
#	fastcgi_index index.php;
#	fastcgi_param SCRIPT_FILENAME /project/app/$fastcgi_script_name;
#}

===============

nginx貌似没有虚拟目录的说法,因为它本来就是完完全全根据目录来设计并工作的。

如果非要给nginx安上一个虚拟目录的说法,那就只有alias标签比较“像”,干脆来说说alias标签和root标签的区别吧。

最基本的区别:alias指定的目录是准确的,root是指定目录的上级目录,并且该上级目录要含有location指定名称的同名目录。另外,根据前文所述,使用alias标签的目录块中不能使用rewrite的break。

所以使用nginx设置root时要注意一个问题,就是如果该root设置的前端目录不是根目录,那么在写root的绝对地址时,要把前端目录的部分省略掉。

我们用设置虚拟目录指向的alias来和root比较一下就非常明显了

location /abc/ {     alias /home/html/abc/; }  

在这段配置下,http://test/abc/a.html就指定的是 /home/html/abc/a.html。这段配置亦可改成

location /abc/ {     root /home/html/;}  

可以看到,使用root设置目录的绝对路径时,少了/abc,也就是说,使用root来设置前端非根目录时,nginx会组合root和location的路径,即 /home/html/abc/。

另外,使用alias时目录名后面一定要加“/”

参考:

https://jasonhzy.github.io/2016/08/25/nginx-alias-root/

http://blog.csdn.net/21aspnet/article/details/6583335

到此这篇关于nginx配置location root的文章就介绍到这了,更多相关nginx配置location root内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解Nginx 和 PHP 的两种部署方式的对比

    详解Nginx 和 PHP 的两种部署方式的对比

    这篇文章主要介绍了详解Nginx 和 PHP 的两种部署方式的对比的相关资料,需要的朋友可以参考下
    2017-06-06
  • Nginx Rewrit实现网页跳转功能详细步骤

    Nginx Rewrit实现网页跳转功能详细步骤

    Rewrite主要实现url地址重写,以及重定向,就是把传入web的请求重定向到其他url的过程,这篇文章主要介绍了Nginx Rewrit实现网页跳转功能详细步骤,需要的朋友可以参考下
    2024-02-02
  • nginx rewrite 伪静态配置参数详细说明

    nginx rewrite 伪静态配置参数详细说明

    nginx rewrite 伪静态配置参数和使用例子 附正则使用说明
    2010-05-05
  • 详解NGINX如何统计网站的PV、UV、独立IP

    详解NGINX如何统计网站的PV、UV、独立IP

    做网站的都知道,平常经常要查询下网站PV、UV等网站的访问数据,这篇文章主要介绍了详解NGINX如何统计网站的PV、UV、独立IP ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • Nginx安装及启动全过程

    Nginx安装及启动全过程

    文章简要介绍了Nginx的安装、编译、配置及配置模块等内容,包括配置Nginx的访问地址、依赖组件、编译路径以及服务管理配置等,同时详细说明了Nginx模块的作用和配置选项,帮助用户顺利搭建Nginx服务器
    2025-09-09
  • 分享nginx+php-fpm实现大文件下载排坑的过程

    分享nginx+php-fpm实现大文件下载排坑的过程

    这篇文章主要介绍了nginx+php-fpm实现大文件下载排坑的过程,文中通过代码实例相结合的形式给大家介绍的非常详细,具有一定得参考借鉴价值,需要的朋友参考下吧
    2018-08-08
  • Nginx服务器限制IP访问的各种情况全解析

    Nginx服务器限制IP访问的各种情况全解析

    这篇文章主要介绍了Nginx服务器限制IP访问的各种情况全解析,包括限制同一IP在一段时间内的访问次数和全局限IP访问以及限制IP访问指定目录等情况,需要的朋友可以参考下
    2015-08-08
  • Nginx+Lua动态加载黑名单的实现方案

    Nginx+Lua动态加载黑名单的实现方案

    本文给大家介绍Nginx+Lua动态加载黑名单的完整技术实现方案,包含核心原理、代码实现和性能优化策略,感兴趣的朋友跟随小编一起看看吧
    2025-10-10
  • 解决nginx+uwsgi部署Django的所有问题(小结)

    解决nginx+uwsgi部署Django的所有问题(小结)

    本篇文章主要介绍了解决nginx+uwsgi部署Django的所有问题(小结),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • Nginx Proxy缓存的具体实现

    Nginx Proxy缓存的具体实现

    本文主要介绍了Nginx Proxy缓存的具体实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08

最新评论