Nginx 缓存控制破坏工作路径

Nginx 缓存控制破坏工作路径

我大部分时间都遵循 html5boilerplate nginx 设置,但是当我包含时,一切都会中断expires.conf

HTML5BP 用于 Nginx 的设置:https://github.com/h5bp/server-configs/tree/master/nginx

我只做了一些很小的改动,下面会列出来。conf/expires.conf但是,在 include 中,所有内容都返回 404。

顺便说一句,我也不认为这只是 HTML5BP。我也关注了本指南并且图像也损坏了(在 Nginx 提示#5 静态资产过期的标题下)。

location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ {
    access_log        off;
    log_not_found     off;
    expires           360d;
}

我在 EC2 弹性负载均衡器后面的服务器上使用 nginx。

这是我的 /etc/nginx/sites-enabled/example.conf:

server {
    listen       80;
    server_name  localhost;

    location / {
        root   /var/www/html/example.com;
        index  index.html index.htm;
    }

    # Specify a charset
    charset utf-8;

    # Custom 404 page
    error_page 404 /404.html;

    include conf/base.conf;
}

我注意到一件奇怪的事情是,如果我检查errors.log它有这个......

2013/03/25 04:38:45 [error] 17920#0: *1 open() "/usr/share/nginx/html/index.html" failed (2: No such file or directory)

但是我将目录从 /usr/share/nginx/html 改掉了,所以我不知道为什么它会在那里找?

答案1

问题是我将 nginx 根路径从 /usr/share/nginx 或默认路径更改为 /var/www/html/site.com

这意味着 root 命令应该出现在我的服务器指令中,而不是我的位置指令中,以便它向下流动。因为它看不到任何定义的 root,所以它使用二进制默认值

http://docs.ngx.cc/en/latest/topics/tutorials/config_pitfalls.html

相关内容