2013/01/06

[nginx]Rails3アプリの静的ファイルをnginxに処理させる。

Rails3アプリをnginx+unicornでホストする場合、Rails3内部に持つ静的ファイル(assetsなど)は、 nginxに応答させる方がパフォーマンスが出ます。

それを実現するには、nginxのコンフィグレーションで、次のように記述します。


  upstream rails_app {
      server  unix:/tmp/unicorn_rails_app.sock;
  }

  server {
      listen  80; 
      server_name rails_app.somedomain.com;
      location ~* \.(html|css|js|ico|gif|jpe?g|png)(\?[0-9]+)?$ {
          root /path/to/rails_app/current/public;
          break;
      }
      location / { 
          if (-f $request_filename) { break; }
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header Host $http_host;
          proxy_pass  http://rails_app;
      }
  }

0 件のコメント: