Nginx 加载文件路径主要通过 root
和 alias
指令来实现。以下是详细的配置方法和区别:
root
指令会将请求的 URI 附加到指定的路径后面:
server {
listen 80;
server_name example.com;
# 对于请求 /images/logo.png,Nginx会查找 /var/www/example.com/images/logo.png
location /images/ {
root /var/www/example.com;
}
}
alias
指令会用指定的路径替换匹配的 URI 部分:
server {
listen 80;
server_name example.com;
# 对于请求 /static/logo.png,Nginx会查找 /var/www/assets/logo.png
location /static/ {
alias /var/www/assets/;
}
}
特性 | root | alias |
---|---|---|
URI处理 | 追加到路径后 | 替换匹配部分 |
结尾斜线 | 可省略 | 必须包含 |
适用场景 | 常规目录结构 | 需要重映射路径 |
server {
location /static/ {
alias /path/to/your/static/files/;
expires 30d;
access_log off;
}
}
server {
location /images/ {
root /var/www/media;
}
location /downloads/ {
alias /opt/shared/files/;
}
}
server {
root /var/www/app/dist;
location / {
try_files $uri $uri/ /index.html;
}
}
路径末尾斜线:
alias
指令必须包含结尾斜线root
指令可省略权限问题:
www-data
或 nginx
)有读取权限符号链接:
disable_symlinks
指令可以禁用性能优化:
sendfile on
错误排查:
/var/log/nginx/error.log
nginx -t
测试配置语法希望这些信息能帮助你正确配置 Nginx 的文件路径加载。如果有特定场景需要帮助,请提供更多细节。