Erinevus lehekülje "Ruby on rails" redaktsioonide vahel

Allikas: Kuutõrvaja
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 22: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

  1. !/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

  1. !/usr/local/bin/bash
  2. This is proxy skript to start-stop mongrel_rails servers
  3. This script can be placed in /etc/init.d or other rc startup directory
  4. and it will pass its first argument to each rails start script.

conf="/usr/local/etc/mongrel.conf"

  1. conf="./rails.conf"

if [ -f $conf ] then

 source $conf

fi

  1. function to do actual calling

start_stop_rails(){

 echo ""
 echo "Rails directory: $1"
 cd $1
 ./script/start_mongrel $2

}

  1. set CMD to first argument

CMD=$1

for i in $RAILS_SERVERS do

 start_stop_rails $i $CMD

done