Sinatra Streaming + nginx Proxy

Fairly easy. The important line here is:
proxy_buffering off;

I think this one works at least for most Rack based applications. The application itself runs on thin ( besides that, I only know Unicorn and Rainbow(s?) that have Streaming Support. Webrick won’t do that (yet))

My vhost config.


upstream stream {
  server 127.0.0.1:4800;
  server 127.0.0.1:4801;
  server 127.0.0.1:4802;
  server 127.0.0.1:4803;
  server 127.0.0.1:4804;
}

server {
  listen   80;
  server_name  stream.domain.com;
  client_max_body_size 5M;
  root /path/to/project/current/public;
  error_log	/path/to/project/shared/nginx/stream.error.log;
  access_log  off;
  location / {
    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_buffering off;
    proxy_redirect off;

    if (-f $request_filename) {
      break;
    }

    if (!-f $request_filename) {
      proxy_pass http://stream;
      break;
    }

  }
}
Dieser Eintrag wurde veröffentlicht in Ohne Kategorie, Ruby, Server / Deployment Getagged: , , , . Bookmarken: Permanent-Link. Kommentieren oder ein Trackback hinterlassen: Trackback-URL.

Ihr Kommentar

Ihre E-Mail wird niemals veröffentlicht oder verteilt. Benötigte Felder sind mit * markiert

*
*

Du kannst diese HTML Tags und Attribute verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">