web-dev-qa-db-ja.com

nginxを使用してプライベートCDNを設定するにはどうすればよいですか?

問題は次のとおりです。ヨーロッパにLinuxサーバーがあり、忙しいDrupal nginx + php-fpmを使用するサイトを提供しています。米国に別のLinuxサーバーがあります(訪問者の大部分が2番目のサーバーは十分に使用されていません。2番目のサーバーを使用してサイトの静的コンテンツを配信する方法を知りたいのですが。

5
alfish

2番目のサーバーにNginxをインストールし、軽量の静的プロキシキャッシュファイルサーバーとして設定します。

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;
        }
 
    }

静的ファイルを新しいドメインに書き換えるか、URLを変更します

編集

上記のファイルを変更して、open_file_cacheの代わりに proxy_cache を使用しました

4
Chris_O