写点什么

Nginx配置中root和alias分不清?本文3分钟帮你解惑!

作者:wljslmz
  • 2022-11-01
    江苏
  • 本文字数:1175 字

    阅读完需:约 4 分钟

Nginx配置中root和alias分不清?本文3分钟帮你解惑!

Nginx 在配置映射路径的时候,有时候看到的是 root,有时候看到的是 alias,这两个有什么区别?本文笔者将带大家详细了解一下。

什么是 Nginx

NGINX 是全球最受欢迎的 Web 服务器之一,用于反向代理和负载均衡,还提供 HTTP 服务器功能,主要是为实现最大性能和稳定性而设计的。



Ubuntu 关于 Nginx 的命令:


1、安装 Nginx:


apt-get install nginx
复制代码



2、查看 Nginx 运行状态:


systemctl status nginx
复制代码


3、启动 Nginx:


systemctl start nginx
复制代码


4、停止 Nginx:


systemctl stop nginx
复制代码


5、重启 Nginx:


temctl restart nginx
复制代码


Nginx 的核心设置主要在 Nginx config 文件中进行配置,下面我们来看下配置中 root 和 alias 的区别。

Nginx root 指令

root 指定文件根文件夹对应的/URL 路径,例如,如果你的 Root 指令是 /var/www/wljslmz.cn,那么当用户请求 /static/img/wljslmz.png 时,Nginx 将为他们提供/var/www/wljslmz.cn/static/img/wljslmz.png


换句话说,将 URL 路径附加到根位置来形成要提供的最终文件路径。


举个例子:


server {    server_name https://www.wljslmz.cn;    listen 443;     index index.html;    root /var/www/wljslmz.cn;     location / {        try_files $uri $uri/ =404;    }     location ^~ /img {        root /var/www/static;        try_files $uri $uri/ =404;    }}
复制代码


如上配置,当用户访问https://www.wljslmz.cn/img/wljslmz.png时,会找到/var/www/static/img/wljslmz.png图片。

Nginx alias 指令

alias 指令就是将 URL 重新映射到根位置以外的其他目录,它对于从不同目录提供静态文件很有用,例如,如果位置 /static/ 的别名是 /var/www/static/images,那么当用户请求 /img/wljslmz.png 时,Nginx 将在 /var/www/static/images 中查找该文件。


我们同样举个例子:


server {    server_name https://www.wljslmz.cn;    listen 443;     index index.html;    root /var/www/wljslmz.cn;     location / {        try_files $uri $uri/ =404;    }     location ^~ /img {        alias /var/www/static/images/;        try_files $uri $uri/ =404;    }}
复制代码


如上配置,当用户访问https://www.wljslmz.cn/img/wljslmz.png时,会找到/var/www/static/images/wljslmz.png图片。


我们要注意:对于 alias 指定的文件夹,官方虽然没有强制要求加“/”,但是我们最好加上,以便阅读。

root 和 alias 区别

  • root 读取的时根目录。可以在 server 或 location 指令中使用。

  • alias 只能在 location 指令中使用。

两者何时用?

  • 如果位置与别名路径的末尾匹配,最好使用 root。

  • 如果从与 root 指定的目录不同的位置读取数据时,最好使用 alias。

总结

Nginx 在 Web 开发中出场率非常高,本文主要讲解了什么时 Nginx,重点对比了 Nginx 配置中 root 和 alias 指令的用法和区别,希望本文对您有所帮助,有任何疑问,欢迎在下方评论区与我讨论!

发布于: 刚刚阅读数: 4
用户头像

wljslmz

关注

极致主义者,追求技术的路上,勇往直前! 2021-05-24 加入

公众号:网络技术联盟站 👍InfoQ签约作者 👍阿里云社区签约作者 👍华为云 云享专家 👍BOSS直聘 创作王者 👍腾讯课堂创作领航员 博客+论坛:https://www.wljslmz.cn 工程师导航:https://www.wljslmz.com

评论

发布
暂无评论
Nginx配置中root和alias分不清?本文3分钟帮你解惑!_nginx_wljslmz_InfoQ写作社区