Erinevus lehekülje "Mod rails" redaktsioonide vahel

Allikas: Kuutõrvaja
37. rida: 37. rida:
  
  
Ja seejärel apachele restart. Virtualhoste võib lisada edaspidi apachele piiramatult.
+
Ja seejärel apachele restart. Virtualhoste võib lisada edaspidi apachele piiramatult,
 +
Uuendades railsi koodi ei ole samuti tarvilik teha kogu apachele restart vaid piisab tekitades faili reboot kausta tmp
  
 
Kuidas mod_rails toimib saab paremat aimu vaadates serveris protsessitabelit
 
Kuidas mod_rails toimib saab paremat aimu vaadates serveris protsessitabelit
  
# ps -aux | grep ruby
+
# ps -aux | grep ruby
root  28375  0.0  3.2 37384 31608  ??  S    1:33PM  0:01.67 ruby script/server -d -p 3000
+
root  28375  0.0  3.2 37384 31608  ??  S    1:33PM  0:01.67 ruby script/server -d -p 3000
root  30977  0.0  0.7 10460  6924  ??  I    1:50PM  0:00.44 ruby18: Passenger spawn server (ruby18)
+
root  30977  0.0  0.7 10460  6924  ??  I    1:50PM  0:00.44 ruby18: Passenger spawn server (ruby18)
root  50782  0.0  2.2 28116 22388  ??  S    6:21PM  0:03.70 ruby18: Passenger FrameworkSpawner: 1.2.6 (ruby18)
+
root  50782  0.0  2.2 28116 22388  ??  S    6:21PM  0:03.70 ruby18: Passenger FrameworkSpawner: 1.2.6 (ruby18)
  
 
Nagu näha protsessitabelist tekitatakse mooduli poolt eraldi spawn server mis tegeleb railsi rakendustele suunatud päringutega
 
Nagu näha protsessitabelist tekitatakse mooduli poolt eraldi spawn server mis tegeleb railsi rakendustele suunatud päringutega
  
Uuendades railsi koodi ei ole samuti tarvilik teha kogu apachele restart vaid piisab tekitades faili reboot kausta tmp
+
 
  
 
  touch /railprog/tmp/restart.txt
 
  touch /railprog/tmp/restart.txt

Redaktsioon: 27. mai 2008, kell 18:42

Sissejuhatus

Ruby on railsi on sageli koos paljude rakenduste ning domeenidega kasutada äärmiselt ebamugav kuna ta vajab eraldi mongrel serverit ning selle startimist ja apaches mod_proxy ja blancery seadistamist ning kasutamist.

Selle parandamisels on tuldud mugavama tehnikaga. Lihtsa mod_rails nimelise mooduliga Apache veebiserverile

http://www.modrails.com/install.html

Tuleb vaid apache moodul installida ning Peale selle apachele luua vhostis milles viidatud loodud railsi tarkvara asukohale.

Kasutamine

Installimiseks piisab enamuses osides kus gem olemas käskudest:

gem install passenger
passenger-install-apache2-module

Viimane toimetab mooduli installi iseseisvalt edasi ning juhendab edasi. Andes igal operatsioonisüsteemil erinevad read mis tuleb lisada httpd.conf'i.

FreeBSDl näiteks tuleb kirjutada httpd.conf faili järgnev:

LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-1.0.5/ext/apache2/mod_passenger.so
RailsSpawnServer /usr/local/lib/ruby/gems/1.8/gems/passenger-1.0.5/bin/passenger-spawn-server
RailsRuby /usr/local/bin/ruby18


Seejärel tuleb saab teha virtualhosti mille kataloogiks tuleb näidata railsi rakenduse kaust nimega public

  <VirtualHost *:80>
     ServerName www.yourhost.com
     DocumentRoot /railsprog/public
  </VirtualHost>


Ja seejärel apachele restart. Virtualhoste võib lisada edaspidi apachele piiramatult, Uuendades railsi koodi ei ole samuti tarvilik teha kogu apachele restart vaid piisab tekitades faili reboot kausta tmp

Kuidas mod_rails toimib saab paremat aimu vaadates serveris protsessitabelit

# ps -aux | grep ruby
root   28375  0.0  3.2 37384 31608  ??  S     1:33PM   0:01.67 ruby script/server -d -p 3000
root   30977  0.0  0.7 10460  6924  ??  I     1:50PM   0:00.44 ruby18: Passenger spawn server (ruby18)
root   50782  0.0  2.2 28116 22388  ??  S     6:21PM   0:03.70 ruby18: Passenger FrameworkSpawner: 1.2.6 (ruby18)

Nagu näha protsessitabelist tekitatakse mooduli poolt eraldi spawn server mis tegeleb railsi rakendustele suunatud päringutega


touch /railprog/tmp/restart.txt

Juhul kui rails ei taha toimida tasub lugeda production log'i Kirjutamine apache poolt tuleks lubada railsi rakenduses tmp/session kataloogile ning kui varasemalt on nimelt railsi webrick/mongrel abil starditud tuleks kustutada varasemad sessioonid


Edasine lugemine:

http://www.modrails.com/documentation/Users%20guide.html

http://www.pervasivecode.com/blog/2008/04/14/why-mod_rails-is-a-really-good-thing-for-light-duty-ruby-on-rails/