nginx中的root与alias的差别

格式

nginx指定文件路径有两种方式root和alias,指令的使用方法和作用域:
[root]
语法:root path
默认值:root html
配置段:http、server、location、if
[alias]
语法:alias path
配置段:location

root与alias主要区别

在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上。
root的处理结果是:root路径 + location路径
alias的处理结果是:使用alias路径替换location路径
alias是一个目录别名的定义,root则是最上层目录的定义。
还有一个重要的区别是alias后面必须要用“/”结束,否则会找不到文件的,而root则可有可无。

例:

1
2
3
4
5
6
7
8
9
10
# 如果一个请求的URI是/t/a.html时,web服务器将会返回服务器上的/www/root/html/t/a.html的文件。
location ^~ /t/ {
root /www/root/html/;
}

# 如果一个请求的URI是/t/a.html时,web服务器将会返回服务器上的/www/root/html/new_t/a.html的文件。
# 注意这里是new_t,因为alias会把location后面配置的路径丢弃掉,把当前匹配到的目录指向到指定的目录。
location ^~ /t/ {
alias /www/root/html/new_t/;
}

注意

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

搬运工:
文章为: nginx.cn原创,转载请注明本文地址: http://www.nginx.cn/4658.html

nginx实现Tomcat的负载均衡集群

在Linux中安装时需要自行下载源代码、安装依赖,然后编译、安装。在macOS中,有一个简便的方式,那就是使用homebrew。在Linux中安装以及配置nginx的连接为:https://blog.csdn.net/asahinokawa/article/details/82288567。虽然用了
阅读更多

反向代理为什么叫反向代理

Nginx可以实现端口转发,这又叫反向代理。那么什么叫反向代理呢?一开始特别不理解,然后去找一些答案时,发现一个特别形象和容易懂的回答。来自知乎中对此问题的一个回答:https://www.zhihu.com/question/24723688

这里写图片描述

这里写图片描述

正向代理隐藏真实客户端,反向代理隐藏真实服务端

自己的理解:
正向代理就是我们平常使用的那种代理软件的效果,我们将自己的请求发给代理服务器,然后再由代理服务器发送给目标服务器;反向代理,顾名思义,方向相反,当代理服务器收到请求后,依照某种规则,转发给不同的服务器。因此,结合上面两幅生动形象、网友所给的图,可以非常容易理解为什么叫反向代理。

nginx的安装与配置、使用

安装依赖库sudo yum -y install gcc pcre zlib zlib-devel openssl openssl-devel下载&安装下载页面:http://nginx.org/en/download.html此处的下载版本为:http://nginx.org/downlo
阅读更多