0


【Nginx】location中的root、proxy_pass和alias

前言

root、proxy_pass和alias都是用来配置Nginx服务器上的URL重写的指令

1、指令

1.1 root指令

root

:用于指定文件系统中某个目录作为请求的根目录,Nginx会在该目录下寻找请求的文件。例如:

location /images/ {
    root /var/www;}

上述配置使得访问

/images/

目录下的资源时,Nginx会到

/var/www/images/

目录下查找。
最后请求的路径:root指定的URL

/var/www
  • location上的URL
    /images/
    

1.2 alias指令

alias

:用于将请求映射到另一个目录或文件上(用于将请求的URL路径与文件系统路径进行映射),常用于处理静态资源的请求,这个指令的功能类似于

root

,只不过可以指定不同的路径。例如:

location /uploads/ {alias /var/www/uploads/;}

上述配置使得访问

/uploads/

目录下的资源时,Nginx会在

/var/www/uploads/

目录下查找。注意,使用

alias

指令时,URI路径会被转换成文件系统路径,例如

/uploads/test.jpg

会被映射到

/var/www/uploads/test.jpg


最后请求的路径:alias指定的静态资源URL

/var/www/uploads/

1.3 proxy_pass指令

proxy_pass

:用于配置反向代理,将客户端发送的请求转发给指定的后端服务器,并返回后端服务器的响应结果。例如:

location /api/ {
    proxy_pass http://backend_server/;}

上述配置使得访问

/api/

目录下的请求会被转发到

http://backend_server/

服务器上处理。
最后请求的路径:proxy_pass指定的后端服务URL

http://backend_server/

2、总结

  1. root适用于指定请求的根目录, 最后请求的路径:root指定的URL + location上的URL
  2. alias则适用于将URL路径映射到文件系统路径,方便访问资源 最后请求的路径:alias指定的静态资源URL
  3. proxy_pass适用于配置反向代理,让Nginx将请求转发给后端服务器。 最后请求的路径:proxy_pass指定的后端服务URL
标签: nginx 运维

本文转载自: https://blog.csdn.net/weixin_42516475/article/details/131111279
版权归原作者 Kevinllli 所有, 如有侵权,请联系我们删除。

“【Nginx】location中的root、proxy_pass和alias”的评论:

还没有评论