Nginx的vhostconfiguration问题

我有一个NginX虚拟主机,其中所有的静态内容由nginx提供,任何未find或以php代理到Apache结束的内容。

只是想检查我的位置是否正确:

location / { try_files $uri $uri/ @proxy; expires 30d; } location ~* \.php$ { proxy_pass http://127.0.0.1:8080; } location @proxy { proxy_pass http://127.0.0.1:8080; } 

我也想知道是否有办法让第二个位置转到第三个位置,这样我就不必重复两次proxy_pass行了?

我还有其他几个问题:

  • nginx是否从上到下读取位置,并且如果请求符合其中一个位置,它会停止查看下一个位置? 例如,如果请求server.com/image.jpg,是不是意味着第一个位置声明会将其捕获到我的位置,而其余的将被忽略?

  • 如果我确实过期了, 或者过期30天; 但然后网站更新,我想强制用户浏览器重新加载文件,有什么我可以做,使他们重新加载?

  • 我的第一个位置声明将匹配任何以.js,.css,.png等结尾的path,但是区分大小写? 它也会匹配.PNG? 我应该让它是否区分大小写? 如果是的话,怎么样?

  • 还有什么你认为会改善这种configuration?

 location / { try_files $uri $uri/ @proxy; expires 30d; } location ~* \.php$ { root @proxy; } location @proxy { proxy_pass http://127.0.0.1:8080; } 

应该这样做