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服务器对数据传输速度限制的基本配置方法讲解

    Nginx服务器对数据传输速度限制的基本配置方法讲解

    这篇文章主要介绍了Nginx服务器对数据传输速度限制的基本配置方法讲解,包括第三方开发的限速模块Nginx-limit-traffic-rate-module的使用介绍,需要的朋友可以参考下
    2016-01-01
  • 详解nginx upstream 配置和作用

    详解nginx upstream 配置和作用

    这篇文章主要介绍了详解nginx upstream 配置和作用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • 当 Nginx 出现 504 错误的完美解决方法

    当 Nginx 出现 504 错误的完美解决方法

    Nginx是一款流行的Web服务器和反向代理服务器,但有时会遇到504网关超时错误,这种错误通常是由后端服务器响应缓慢、Nginx配置不当或网络问题导致的,下面给大家分享Nginx 出现 504 错误的完美解决方法,一起看看吧
    2024-09-09
  • 一个Nginx实现部署多个不同的项目方式

    一个Nginx实现部署多个不同的项目方式

    这篇文章主要介绍了一个Nginx实现部署多个不同的项目方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • Nginx开启Gzip压缩大幅提高页面加载速度的方法

    Nginx开启Gzip压缩大幅提高页面加载速度的方法

    这篇文章主要介绍了Nginx开启Gzip压缩大幅提高页面加载速度的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • 使用Nginx代理上网的方法

    使用Nginx代理上网的方法

    这篇文章主要介绍了使用Nginx代理上网的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • Nginx列出目录和文件并用密码控制访问权限配置方法

    Nginx列出目录和文件并用密码控制访问权限配置方法

    这篇文章主要介绍了Nginx列出目录和文件并用密码控制访问权限配置方法,本文给出了详细的安装配置步骤,需要的朋友可以参考下
    2015-07-07
  • Nginx服务500:Internal Server Error原因之一

    Nginx服务500:Internal Server Error原因之一

    这篇文章主要介绍了Nginx服务500:Internal Server Error原因之一,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • nginx的zabbix 5.0安装部署的方法步骤

    nginx的zabbix 5.0安装部署的方法步骤

    之前大家可能经常会基于apache去部署zabbix,但是这样会偶尔遇到一些问题,今天小编就带大家操作一下基于nginx的zabbix5.0的部署。感兴趣的可以了解一下
    2021-07-07
  • 使用Nginx搭建文件下载服务器的方法详解

    使用Nginx搭建文件下载服务器的方法详解

    本篇文章主要介绍了使用nginx搭建文件下载服务器的方法,小编觉得挺不错的,现在分享给大家,文章通过代码给大家介绍的非常详细,有需要的一起跟随小编过来看看吧
    2023-09-09

最新评论