Here is the problem: I have a Linux server in Europe serving a busy Drupal site using nginx+php-fpm, I have another Linux server in the US (where a big portion of my visitors are coming from). The second server is heavily under-used. I am wondering how to make use of the second server to deliver my site's static content?

link|improve this question

59% accept rate
feedback

1 Answer

up vote 3 down vote accepted

Install Nginx on the 2nd server and set it up as a lightweight static proxy cache file server:

server {
 
        open_file_cache_valid 200 20m;
        listen 80;
        server_name yourcdndomain.com;
        access_log   /srv/www/yourcdndomain.com/logs/access.log;
        root   /srv/www/yourcdndomain.com/public_html/;
 
 
 
      location ~* \.(jpg|png|gif|jpeg|css|js|mp3|wav|swf|mov|doc|pdf|xls|ppt|docx|pptx|xlsx)$ {
                                # Cache static-looking files for 120 minutes, setting a 10 day expiry time in the HTTP header,
                                # whether logged in or not (may be too heavy-handed).
 
                                open_file_cache_valid 200 120m;
                        expires 7776000;
                        open_file_cache staticfilecache;
                }
 
location = /50x.html {
                root   /var/www/nginx-default;
        }
 
 # No access to .htaccess files.
        location ~ /\.ht {
          deny  all;
        }
 
    }

Rewrite your static files to the new domain or change the urls

Edit

I changed the file above to use open_file_cache instead of proxy_cache

link|improve this answer
Thanks Chris_O. I will try your solution. – alfish Apr 27 '11 at 1:46
What is the point to proxy_cache static files you have already on the disk? Nginx serves them from root directory perfectly. – Alexander Azarov Apr 27 '11 at 11:13
@Alaz When you set proxy_cache Nginx will serve the files from shared memory even though it's not proxying back to another server. – Chris_O Apr 27 '11 at 18:06
@Chris_O Can you point to the documentation to prove this assertion? – Alexander Azarov Apr 27 '11 at 18:19
@Alaz I just looked over the new docs and open_file_cache would be a better choice in this situation than proxy_cache – Chris_O Apr 27 '11 at 20:37
show 3 more comments
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.