如何设置Linux上的Nginx作为静态资源服务器?Root与Alias配置有何不同?

2026-04-30 11:581阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计944个文字,预计阅读时间需要4分钟。

如何设置Linux上的Nginx作为静态资源服务器?Root与Alias配置有何不同?

使用 `root` 时,Nginx 会将请求的完整 URI(包括 `location` 匹配的部分)直接拼接到你指定的目录后面。例如:

location /static/ { root /var/www/html; }

用户访问 /static/logo.png,Nginx 实际查找的是 /var/www/html/static/logo.png —— 注意中间多了一个 static/

  • root 值末尾加不加 / 都行,Nginx 自动处理
  • 必须确保文件系统里真有 /var/www/html/static/ 这个子目录,否则 404
  • 适合 URL 路径和磁盘目录结构严格对齐的场景,比如整站部署在 /var/www/html,子路径就是子目录
  • 不能用于正则 location 中的路径替换(会出错或行为不可控)

alias 指令:路径替换,末尾斜杠是硬性要求

alias 不是拼接,是“砍掉匹配的 location 前缀,换成你给的路径”。比如:

location /static/ { alias /data/assets/; }

用户访问 /static/logo.png,Nginx 查找的是 /data/assets/logo.png —— /static/ 被完全替换了。

阅读全文
标签:LinuxNginx

本文共计944个文字,预计阅读时间需要4分钟。

如何设置Linux上的Nginx作为静态资源服务器?Root与Alias配置有何不同?

使用 `root` 时,Nginx 会将请求的完整 URI(包括 `location` 匹配的部分)直接拼接到你指定的目录后面。例如:

location /static/ { root /var/www/html; }

用户访问 /static/logo.png,Nginx 实际查找的是 /var/www/html/static/logo.png —— 注意中间多了一个 static/

  • root 值末尾加不加 / 都行,Nginx 自动处理
  • 必须确保文件系统里真有 /var/www/html/static/ 这个子目录,否则 404
  • 适合 URL 路径和磁盘目录结构严格对齐的场景,比如整站部署在 /var/www/html,子路径就是子目录
  • 不能用于正则 location 中的路径替换(会出错或行为不可控)

alias 指令:路径替换,末尾斜杠是硬性要求

alias 不是拼接,是“砍掉匹配的 location 前缀,换成你给的路径”。比如:

location /static/ { alias /data/assets/; }

用户访问 /static/logo.png,Nginx 查找的是 /data/assets/logo.png —— /static/ 被完全替换了。

阅读全文
标签:LinuxNginx