*/ ?>

Deployment Ruby On Rails jednoduše

Deployment aneb nasazení Ruby On Rails aplikací byl ještě docela nedávno achylovou patou tohoto frameworku. Projekty jako SwitchPipe hodně pomohly, ale pořád znamenaly konfigurační soubor a práci s administrací další systémové služby navíc. Jednoduše řečeno administrátorům se to nelíbilo. Od doby, kdy existuje Phusion Passanger aka mod_rails je deployment do Apache web-serveru složitý asi takhle:

<VirtualHost *:80>
    ServerName www.dobrykod.com
    DocumentRoot /websites/dobrykod/public
</VirtualHost>

Instalace samotného mod_rails je také maximálně jednoduchá. Potřebujete být root a mít nainstalované development hlavičky pro Apache (na Debianu je to balíček apache2-dev). Pak už je třeba jenom provést tyto dva příkazy:

gem install passenger
passenger-install-apache2-module

Pokud se při instalaci něco nepovede, instalátor napoví, co je potřeba doinstalovat nebo nastavit. Jakmile se podaří mod_rails nainstalovat ,je nutné provést ještě úpravu v konfiguraci Apache. Případně také poradí instalátor. Na Debianu to vypadá takto:

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.0.3/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.0.3
PassengerRuby /usr/bin/ruby1.8

Teď už jenom restart Apache a tvůj stroj je připraven pro nasazení Rails aplikací. Samotný deployment nyní probíhá zhruba stejně jako u PHP. Aplikaci prostě nahraješ do určeného adresáře a ono to funguje. Jelikož si mod_rails nasosá většinu aplikace do paměti, je potřeba jej po změně kódu restartovat. To se udělá také jednoduše:

touch tmp/restart.txt

A nebojte, zrestartují se jenom procesy pro daný VirtualHost. Celé se to samozřejmě dá lehce zaintegrovat do Capistrano deployovacích skriptů. Více v oficiálním manuálu.

  1. Démonické procesy a Rails
  2. Démonické procesy v Ruby
  3. Asociativní hledání
  4. Refaktoring iterátoru

Autor článku

Honza Štěrba, http://honzasterba.cz

Su z Moravy. Pracuju v Sun Microsystems. Programování mě baví.

Vyjadri sa

Tvůj komentář se zobrazí, až ho některý z adminů schválí. Zveřejňovat budeme pouze hodnotné komentáře, které se přímo týkají tématu.


O projekte

Tento projekt vznikol, pretože všetky odborné weby sajú a my sme tým pádom nemali kde publikovať svoje články.