当NGINX启用静态caching内容时,网站不加载静态文件

我有一个使用NGINX / PHP-FPM运行CentOS的VPS。 一切工作正常,除了当我添加以下行以启用静态caching内容。 如果我这样做,页面不会加载指定的这些文件来保持caching。

location ~* \.(ico|css|js|gif|jpg|jpeg|png)$ { expires 30d; add_header Vary Accept-Encoding; access_log off; } 

这是我的整个服务器{}:

  • 苏拒绝了权限
  • 防止默认服务器的最佳方法?
  • 用nginx比用nginx更好吗?
  • UTC的UTC时区在哪里?
  • 确定Web服务器每秒请求的实际度量
  • 将通配符子域redirect到https(nginx)
  •  server { listen 80; server_name mywebsite.com www.mywebsite.com; #location ~* \.(ico|css|js|gif|jpg|jpeg|png)$ { # expires 30d; # add_header Vary Accept-Encoding; # access_log off; #} location / { if ($http_host ~* "^www.(.*)$"){ set $rule_0 1$rule_0; set $bref_1 $1; } if ($rule_0 = "1"){ rewrite ^/(.*)$ http://$bref_1/$1 permanent; } rewrite ^/search/(.*)/(.*)/?$ /index.php?search=$1&page=$2&type=mp3 las$ rewrite ^/(.*)/(.*)/(.*)?$ /index.php?search=$1&page=$2&type=$3 last; root /var/www/mywebsite.com/public_html; index index.php index.html index.htm; } location ~ \.php$ { fastcgi_read_timeout 300; root /var/www/mywebsite.com/public_html; fastcgi_pass unix:/tmp/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } 

    有谁知道为什么?

    更新(解决scheme):

    正如迈克尔·汉普顿(Michael Hampton)回答我的,服务器{}没有声明根,所以我按照说明将其添加到文件中。 工作很好!

    服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器.