2011-12-24 11 views
10

Guardando i registri, la mia app di cedro attualmente esegue webrick. Ovviamente, questa non è la scelta migliore per l'app di produzione.Heroku, Thin e tutto il resto

Come indicato in tutto il Web, dovrei utilizzare Thin webserver.

Ma mi piacerebbe comunque utilizzare la simplicty di webrick sul mio computer di sviluppo (Windows).

Come notato nei commenti sul Heroku cedar stack, thin and eventmachine la versione che può essere installato su Windows per eventmachine (ho anche bisogno di qualche spiegazione su quel gioiello) è 1.0.0.beta4 e Heroku non piace che ..

  1. Come installare thin (e eventmachine credo) solo su heroku e mantenere webrick per tutte le mie esigenze localhost?

  2. Che cos'è eventmachine e perché ne ho bisogno?

  3. C'è un modo per dire esplicitamente a heroku di ignorare ciò che voglio e usare sottile?

+1

Per usare sottile solo nella produzione è necessario dichiarare questo Gemfile 'gruppo: la produzione do; gemma 'sottile'; end' e inserisci questo in Procfile: 'web: bundle exec rails server thin -p $ PORT' come descritto in http://devcenter.heroku.com/articles/rails3 – taro

+0

Heroku [raccomanda Unicorn] (https: // devcenter. heroku.com/articles/getting-started-with-rails4#webserver) per le app di produzione ora – Yarin

risposta

31

Nella tua Gemfile, creare o modificare il gruppo production per includere thin:

group :production do 
    gem 'thin' 
end 

Poi, nel vostro Procfile (un file chiamato Procfile collocato nella root della vostra applicazione), dicono Heroku si desidera utilizzare thin, in questo modo:

web: bundle exec thin start -p $PORT 

Ciò consentirà di continuare a utilizzare Webrick nell'ambiente di sviluppo locale durante l'esecuzione di thin in produzione su Heroku.

+0

Sto facendo esattamente la stessa cosa, con Rails '3.2.21', ma dice:' bundler: impossibile caricare il comando: thin (/app/vendor/bundle/ruby/2.2.0/bin/thin) ' –

0

Per eseguire l'installazione del thin gemma sul computer locale, chiamare bundler come questo:

bundle install --without production 
Problemi correlati