sobota 20. listopadu 2010

Příprava Linuxového serveru pro hosting Ruby on Rails aplikací

Součásti

  • Nginx
  • Passenger

Instalace

apt-get install ruby rdoc ruby1.8-dev build-essential libopenssl-ruby libcurl4-openssl-dev libssl-dev zlib1g-dev libsqlite3-dev
wget http://production.cf.rubygems.org/rubygems/rubygems-1.3.7.tgz
tar -xzf rubygems-1.3.7.tgz
cd rubygems-1.3.7
ruby setup.rb
gem1.8 install rails sqlite3-ruby passenger
passenger-install-nginx-module

Konfigurace

Init skript /etc/init.d/nginx (počítá s instalací do defaultního umístění)
#! /bin/sh

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/opt/nginx/sbin/nginx
NAME=nginx
DESC=nginx

test -x $DAEMON || exit 0

set -e

. /lib/lsb/init-functions

test_nginx_config() {
  if $DAEMON -t $DAEMON_OPTS
  then
    return 0
  else
    return $?
  fi
}

case "$1" in
  start)
 echo -n "Starting $DESC: "
        test_nginx_config
 start-stop-daemon --start --quiet --pidfile /opt/nginx/logs/$NAME.pid \
  --exec $DAEMON -- $DAEMON_OPTS || true
 echo "$NAME."
 ;;
  stop)
 echo -n "Stopping $DESC: "
 start-stop-daemon --stop --quiet --pidfile /opt/nginx/logs/$NAME.pid \
  --exec $DAEMON || true
 echo "$NAME."
 ;;
  restart|force-reload)
 echo -n "Restarting $DESC: "
 start-stop-daemon --stop --quiet --pidfile \
  /opt/nginx/logs/$NAME.pid --exec $DAEMON || true
 sleep 1
        test_nginx_config
 start-stop-daemon --start --quiet --pidfile \
  /opt/nginx/logs/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS || true
 echo "$NAME."
 ;;
  reload)
        echo -n "Reloading $DESC configuration: "
        test_nginx_config
        start-stop-daemon --stop --signal HUP --quiet --pidfile /opt/nginx/logs/$NAME.pid \
            --exec $DAEMON || true
        echo "$NAME."
        ;;
  configtest)
        echo -n "Testing $DESC configuration: "
        if test_nginx_config
        then
          echo "$NAME."
        else
          exit $?
        fi
        ;;
  status)
 status_of_proc -p /opt/nginx/logs/$NAME.pid "$DAEMON" nginx && exit 0 || exit $?
 ;;
  *)
 echo "Usage: $NAME {start|stop|restart|reload|force-reload|status|configtest}" >&2
 exit 1
 ;;
esac

exit 0
Passenger
http://www.modrails.com/videos/passenger_nginx.mov

Žádné komentáře: