Erinevus lehekülje "Mod rails" redaktsioonide vahel
(→Kasutamine) |
|||
17. rida: | 17. rida: | ||
passenger-install-apache2-module | passenger-install-apache2-module | ||
− | Viimane | + | Viimane teeb mooduli paigalduse ning juhendab edasisi toiminguid. |
Andes igal operatsioonisüsteemil erinevad read mis tuleb lisada httpd.conf'i. | Andes igal operatsioonisüsteemil erinevad read mis tuleb lisada httpd.conf'i. | ||
Redaktsioon: 3. märts 2010, kell 14: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 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.yourhost.com 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 tekitades faili reboot kausta tmp
touch /railprog/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
# 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
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