Fri, 01 Sep 2006
Got Mongrel server working
I've just replaced old fashioned fast_cgi to the Mongrel ruby server. Bellow is my attempt to startup script for mongrel servers - designed for my slackware box. Hope it'll help anyone to start up his own mongrel server for Rails

#!/bin/sh # include config . /etc/rc.d/mongrel.servers function start_servers { echo -n "starting..." COUNT=${#SERVER[@]} for ((;COUNT;COUNT--)); do echo -n "#" $MONGREL start $PARAMS_START -c ${SERVER[$COUNT]} -p ${PORT[$COUNT]} >/dev/null 2>&1 done echo "Done" } function stop_servers { echo -n "stopping..." COUNT=${#SERVER[@]} for ((;COUNT;COUNT--)); do echo -n "#" $MONGREL stop -c ${SERVER[$COUNT]} >/dev/null 2>&1 done echo "Done" } function status_servers { echo "Mongrel status..." echo "" echo " PID PORT PATH " echo "------------------------------------------------------------------------------" COUNT=${#SERVER[@]} for ((;COUNT;COUNT--)); do if [ -f "${SERVER[$COUNT]}/log/mongrel.pid" ]; then PID=`cat ${SERVER[$COUNT]}/log/mongrel.pid | awk '{print $1}'` else PID="N/A" fi printf "%6s %6s %s\n" "$PID" "${PORT[$COUNT]}" "${SERVER[$COUNT]}" done echo "Done" } case "$1" in 'start') start_servers ;; 'stop') stop_servers ;; 'status') status_servers ;; *) start_servers esac
/etc/rc.d/rc.mongrel

MONGREL="mongrel_rails" PARAMS_START="-d -a 127.0.0.1" SERVER[1]="/path_to_rails_app1/" PORT[1]=8001 SERVER[2]="/path_to_rails_app2/" PORT[2]=8002
/etc/rc.d/mongrel.servers

and Apache config...

# load proxy modules LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule proxy_http_module modules/mod_proxy_http.so ... <VirtualHost some_ip:80> ServerAdmin awesome@administrator DocumentRoot path_to_public_dir_of_rails_app ServerName some_server_name ErrorLog log/radiant-error_log CustomLog log/radiant-access_log combined ProxyPass / http://127.0.0.1:8001/ ProxyPassReverse / http://127.0.0.1:8001/ </VirtualHost>


(posted at 13:37 | filed under programming/rails | link)    (comments | add new)