The best configuration for serving static content
Valentin V. Bartenev
ne at vbart.ru
Mon Dec 5 15:20:48 UTC 2011
On Monday 05 December 2011 14:29:28 etrader wrote:
> I want to create a config for domains serving static content. I made the
> following conf file. Is it the best possible code? (I just kept php
> interpretation for possible usage)
Actually, there can not exists the best possible config in general. The best way
would be to configure your server exactly for your needs. And only you can fully
understand your case.
Instead of using big ugly regexps, it would be much better to keep all static
content in separate folders.
For example:
location /media/ {
...
}
or more specific:
location /images/ {
...
}
location /styles/ {
...
}
etc...
> location ~*
> ^.+.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|ta
> r|mid|midi|wav|bmp|rtf|js|swf|wma|wmv)$ {
Probably, you forgot to escape the dot. (like "\.(jpg...$")
location ~* \.(jpe?g|gif|png|ico|css|zip|t?gz|rar|bz2?|doc|xls|exe|pdf|ppt|txt|
tar|midi?|wav|bmp|rtf|js|swf|wm[av])$ {
Do you really need all these extensions? Do you really want to configure "css"
and "wmv" the same way?
> proxy_redirect off;
> proxy_set_header Host $host;
> proxy_set_header X-Real-IP $remote_addr;
> proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
[...]
> proxy_connect_timeout 90;
> proxy_send_timeout 90;
> proxy_read_timeout 90;
> proxy_buffer_size 4k;
> proxy_buffers 4 32k;
> proxy_busy_buffers_size 64k;
> proxy_temp_file_write_size 64k;
What are they for? I mean all these proxy_* directives.
1) They are meaningless without the "proxy_pass" directive.
2) Actually, I really doubt that you want to proxy your static content to
another web server.
> access_log off;
> }
> location ~ \.(css|js|jpg|jpeg|png|gif)$ {
> expires 31536000s;
> add_header Pragma public;
> add_header Cache-Control public;
> }
This location will never get a request, cuz it entirely overlapped by the
above one.
wbr, Valentin V. Bartenev
More information about the nginx
mailing list