Erinevus lehekülje "Ruby on rails" redaktsioonide vahel
| 20. rida: | 20. rida: | ||
Loome vajalikud skriptid | Loome vajalikud skriptid | ||
| + | |||
| + | pane rcrails /etc/init.d vms kausta ja start_mongrel iga railsi script | ||
| + | kausta. start_mongreli sees määra USER ja GROUP, kellena see server | ||
| + | jooksma peaks. | ||
| + | |||
| + | /usr/local/etc/rails.conf või muusse faili (muuda vastavalt rcrails skripti) | ||
| + | kirjuta näiteks: | ||
| + | |||
| + | RAILS_SERVERS=" | ||
| + | /home/rails/progeadmin/ | ||
| + | /home/rails/veebiadmin/ | ||
| + | " | ||
| + | |||
| + | start_mongrel | ||
| + | |||
| + | #!/usr/local/bin/bash | ||
| + | |||
| + | USER="root" | ||
| + | GROUP="wheel" | ||
| + | |||
| + | case $1 in | ||
| + | start) | ||
| + | /usr/local/bin/mongrel_rails start -d --user $USER --group $GROUP -p 8001 -a 127.0.0.1 -P rails-8001.pid | ||
| + | /usr/local/bin/mongrel_rails start -d --user $USER --group $GROUP -p 8002 -a 127.0.0.1 -P rails-8002.pid | ||
| + | /usr/local/bin/mongrel_rails start -d --user $USER --group $GROUP -p 8003 -a 127.0.0.1 -P rails-8003.pid | ||
| + | ;; | ||
| + | restart) | ||
| + | /usr/local/bin/mongrel_rails restart -P rails-8001.pid | ||
| + | /usr/local/bin/mongrel_rails restart -P rails-8002.pid | ||
| + | /usr/local/bin/mongrel_rails restart -P rails-8003.pid | ||
| + | ;; | ||
| + | stop) | ||
| + | /usr/local/bin/mongrel_rails stop -P rails-8001.pid | ||
| + | /usr/local/bin/mongrel_rails stop -P rails-8002.pid | ||
| + | /usr/local/bin/mongrel_rails stop -P rails-8003.pid | ||
| + | ;; | ||
| + | *) | ||
| + | cat <<EOF | ||
| + | |||
| + | USAGE: $0 <start|stop|restart> | ||
| + | |||
| + | Mongrel places it's pid files in the RAILS_ROOT directory, which must be | ||
| + | writable by the calling user. | ||
| + | |||
| + | EOF | ||
| + | esac | ||
| + | |||
| + | |||
| + | rcrails | ||
| + | |||
| + | #!/usr/local/bin/bash | ||
| + | # | ||
| + | # This is proxy skript to start-stop mongrel_rails servers | ||
| + | # This script can be placed in /etc/init.d or other rc startup directory | ||
| + | # and it will pass its first argument to each rails start script. | ||
| + | |||
| + | conf="/usr/local/etc/mongrel.conf" | ||
| + | #conf="./rails.conf" | ||
| + | |||
| + | if [ -f $conf ] | ||
| + | then | ||
| + | source $conf | ||
| + | fi | ||
| + | |||
| + | # function to do actual calling | ||
| + | start_stop_rails(){ | ||
| + | echo "" | ||
| + | echo "Rails directory: $1" | ||
| + | cd $1 | ||
| + | ./script/start_mongrel $2 | ||
| + | } | ||
| + | |||
| + | # set CMD to first argument | ||
| + | CMD=$1 | ||
| + | |||
| + | for i in $RAILS_SERVERS | ||
| + | do | ||
| + | start_stop_rails $i $CMD | ||
| + | done | ||
Redaktsioon: 23. jaanuar 2007, kell 21:26
Apache22 ruby on rails and mongrel
Süsteem toimib nii ,et apache suunab vhostide info mongrel serverile mis siis railsi skripte esilemanab
Installime vajalikud päkitsad
cd /usr/ports/apache22 make install with_proxy_modules=yes
cd /usr/ports/lang/ruby18 make install && make clean
cd /usr/ports/devel/ruby-gems make install && make clean
gem install mongrel gem install rails
Loome vajalikud skriptid
pane rcrails /etc/init.d vms kausta ja start_mongrel iga railsi script kausta. start_mongreli sees määra USER ja GROUP, kellena see server jooksma peaks.
/usr/local/etc/rails.conf või muusse faili (muuda vastavalt rcrails skripti) kirjuta näiteks:
RAILS_SERVERS=" /home/rails/progeadmin/ /home/rails/veebiadmin/ "
start_mongrel
- !/usr/local/bin/bash
USER="root" GROUP="wheel"
case $1 in
start) /usr/local/bin/mongrel_rails start -d --user $USER --group $GROUP -p 8001 -a 127.0.0.1 -P rails-8001.pid /usr/local/bin/mongrel_rails start -d --user $USER --group $GROUP -p 8002 -a 127.0.0.1 -P rails-8002.pid /usr/local/bin/mongrel_rails start -d --user $USER --group $GROUP -p 8003 -a 127.0.0.1 -P rails-8003.pid ;; restart) /usr/local/bin/mongrel_rails restart -P rails-8001.pid /usr/local/bin/mongrel_rails restart -P rails-8002.pid /usr/local/bin/mongrel_rails restart -P rails-8003.pid ;; stop) /usr/local/bin/mongrel_rails stop -P rails-8001.pid /usr/local/bin/mongrel_rails stop -P rails-8002.pid /usr/local/bin/mongrel_rails stop -P rails-8003.pid ;; *) cat <<EOF
USAGE: $0 <start|stop|restart>
Mongrel places it's pid files in the RAILS_ROOT directory, which must be writable by the calling user.
EOF esac
rcrails
- !/usr/local/bin/bash
- This is proxy skript to start-stop mongrel_rails servers
- This script can be placed in /etc/init.d or other rc startup directory
- and it will pass its first argument to each rails start script.
conf="/usr/local/etc/mongrel.conf"
- conf="./rails.conf"
if [ -f $conf ] then
source $conf
fi
- function to do actual calling
start_stop_rails(){
echo "" echo "Rails directory: $1" cd $1 ./script/start_mongrel $2
}
- set CMD to first argument
CMD=$1
for i in $RAILS_SERVERS do
start_stop_rails $i $CMD
done