首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Nginx --静态文件服务与根目录和别名混淆

Nginx --静态文件服务与根目录和别名混淆
EN

Stack Overflow用户
提问于 2012-05-17 16:03:02
回答 4查看 325.7K关注 0票数 574

我需要通过我在8080的应用程序服务器提供我的应用程序,并在不接触应用程序服务器的情况下从目录中提供静态文件。我的nginx配置是这样的……

代码语言:javascript
复制
    # app server on port 8080
    # nginx listens on port 8123
    server {
            listen          8123;
            access_log      off;

            location /static/ {
                    # root /var/www/app/static/;
                    alias /var/www/app/static/;
                    autoindex off;
            }


            location / {
                    proxy_pass              http://127.0.0.1:8080;
                    proxy_set_header        Host             $host;
                    proxy_set_header        X-Real-IP        $remote_addr;
                    proxy_set_header        X-Forwarded-For  $proxy_add_x_forwarded_for;
            }
    }

现在,有了这个配置,一切都运行得很好。注意,root指令被注释掉了。

如果我激活root并停用alias,它将停止工作。但是,当我从root中删除尾随的/static/时,它又开始工作了。

有人能解释一下发生了什么吗。此外,请清楚而详细地解释rootalias之间的区别,以及它们的用途。

EN

回答 4

Stack Overflow用户

发布于 2014-10-06 00:38:31

只是对@good_computer非常有用的回答的一个快速补充,我想用一个文件夹替换URL的根目录,但前提是它必须与包含静态文件的子文件夹相匹配(我希望将其保留为路径的一部分)。

例如,如果请求的文件是/app/js/app/css格式的,请查看/app/location/public/[that folder]

我使用正则表达式实现了这一功能。

代码语言:javascript
复制
 location ~ ^/app/((images/|stylesheets/|javascripts/).*)$ {
     alias /home/user/sites/app/public/$1;
     access_log off;
     expires max;
 }
票数 23
EN

Stack Overflow用户

发布于 2019-05-25 17:33:03

alias用于替换请求路径中的位置部分路径( location part path,LPP),而root用于添加到请求路径。

它们是将请求路径映射到最终文件路径的两种方法。

alias只能在位置块中使用,并且它将覆盖外部root

位置块中不能同时使用aliasroot

票数 8
EN

Stack Overflow用户

发布于 2017-09-16 16:15:30

代码语言:javascript
复制
server {
    server_name xyz.com;
    root /home/ubuntu/project_folder/;

    client_max_body_size 10M;
    access_log  /var/log/nginx/project.access.log;
    error_log  /var/log/nginx/project.error.log;

    location /static {
        index index.html;
    }

    location /media {
        alias /home/ubuntu/project/media/;
    }
}

服务器块在nginx上激活静态页面。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10631933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档