Erinevus lehekülje "Mod rails" redaktsioonide vahel

Allikas: Kuutõrvaja
(Kasutamine)
(Kasutamine)
 
12. rida: 12. rida:
 
===Kasutamine===
 
===Kasutamine===
  
Installimiseks piisab enamuses osides kus gem olemas käskudest:
+
Installimiseks piisab enamuses OSides kus gem olemas käskudest:
  
 
  gem install passenger
 
  gem install passenger
29. rida: 29. rida:
  
 
   <VirtualHost *:80>
 
   <VirtualHost *:80>
       ServerName www.yourhost.com
+
       ServerName www.sinuhost.ee
 
       DocumentRoot /railsprog/public
 
       DocumentRoot /railsprog/public
 
   </VirtualHost>
 
   </VirtualHost>
  
 
Ja seejärel start apache. Virtualhoste võib lisada edaspidi apachele piiramatult,
 
Ja seejärel start apache. 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
+
Uuendades railsi koodi ei ole samuti tarvilik teha kogu apachele restart vaid piisab tmp kaustas oleva faili restart muutmisest (timestamp)
  
 
  touch /railprog/tmp/restart.txt
 
  touch /railprog/tmp/restart.txt
  
elu võib lihtsustada tekitades näiteks .bashrc'sse alias rstart="touch tmp/restart.txt"
+
Elu võib lihtsustada tekitades näiteks .bashrc'sse alias rstart="touch tmp/restart.txt"
  
Kuidas mod_rails toimib saab paremat aimu vaadates serveris protsessitabelit
+
Mooduli mod_rails toimimist kirjeldab järgmine protsessitabel:
  
 
  # ps -aux | grep ruby
 
  # ps -aux | grep ruby
47. rida: 47. rida:
 
  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
+
Protsessitabelist on näha, et tekitatakse mooduli poolt eraldi spawn server, mis tegeleb railsi rakendustele suunatud päringutega.
  
Juhul kui rails ei taha toimida tasub lugeda production log'i
+
Juhul kui rails ei taha toimida, tasub lugeda production.log faili.
 
Kirjutamine apache poolt tuleks lubada railsi rakenduses '''tmp/session''' kataloogile ning
 
Kirjutamine apache poolt tuleks lubada railsi rakenduses '''tmp/session''' kataloogile ning
kui varasemalt on nimelt railsi webrick/mongrel abil starditud tuleks
+
kui varasemalt on rails käivitatud webrick/mongrel abiga, siis tuleks
kustutada varasemad sessioonid
+
kustutada varasemad sessioonid.
  
 
===Edasine lugemine:===
 
===Edasine lugemine:===

Viimane redaktsioon: 28. jaanuar 2011, kell 13:02

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 Phusion Passenger ehk mod_rails nimelise mooduliga Apache veebiserverile tuleb vaid apache moodul installida ning Peale selle apachele luua vhostis milles viidatud loodud railsi tarkvara asukohale.

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

Kasutamine

Installimiseks piisab enamuses OSides kus gem olemas käskudest:

gem install passenger
passenger-install-apache2-module

Viimane teeb mooduli paigalduse ning juhendab edasisi toiminguid. 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.sinuhost.ee
     DocumentRoot /railsprog/public
  </VirtualHost>

Ja seejärel start apache. Virtualhoste võib lisada edaspidi apachele piiramatult, Uuendades railsi koodi ei ole samuti tarvilik teha kogu apachele restart vaid piisab tmp kaustas oleva faili restart muutmisest (timestamp)

touch /railprog/tmp/restart.txt

Elu võib lihtsustada tekitades näiteks .bashrc'sse alias rstart="touch tmp/restart.txt"

Mooduli mod_rails toimimist kirjeldab järgmine protsessitabel:

# 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)

Protsessitabelist on näha, et tekitatakse mooduli poolt eraldi spawn server, mis tegeleb railsi rakendustele suunatud päringutega.

Juhul kui rails ei taha toimida, tasub lugeda production.log faili. Kirjutamine apache poolt tuleks lubada railsi rakenduses tmp/session kataloogile ning kui varasemalt on rails käivitatud webrick/mongrel abiga, siis 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/