参考ページ
http://jordanhollinger.com/2011/04/22/how-to-use-thin-effectivly
config.ruファイルを用意する。
# vi config.ru
# coding :UTF-8 require 'app.rb' run App.new
thinの起動スクリプトを修正する。デフォルトだと、CONFIG_PATH配下にある全ファイル、全ディレクリを設定ファイルとして扱おうとするので、thin.ymlのみを指定する。
# vi /etc/rc.d/thin
#!/bin/sh ### BEGIN INIT INFO # Provides: thin # Required-Start: $local_fs $remote_fs # Required-Stop: $local_fs $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: S 0 1 6 # Short-Description: thin initscript # Description: thin ### END INIT INFO # Original author: Forrest Robertson # Do NOT "set -e" DAEMON=/usr/local/bin/thin SCRIPT_NAME=/etc/rc.d/thin # CONFIG_PATH=/etc/thin CONFIG_FILE=/etc/thin/thin.yml # Exit if the package is not installed [ -x "$DAEMON" ] || exit 0 case "$1" in start) # $DAEMON start --all $CONFIG_PATH $DAEMON start --config $CONFIG_FILE ;; stop) # $DAEMON stop --all $CONFIG_PATH $DAEMON stop --config $CONFIG_FILE ;; restart) # $DAEMON restart --all $CONFIG_PATH $DAEMON restart --config $CONFIG_FILE ;; *) echo "Usage: $SCRIPT_NAME {start|stop|restart}" >&2 exit 3 ;; esac
thinの設定ファイルを修正する。
マルチプロセスで起動するためにはserversに1以上の値を指定する。
# vi /etc/thin/thin.yml
chdir: /your/application/dirrectory environment: production address: 0.0.0.0 port: 80 timeout: 30 log: log/thin.log pid: tmp/pids/thin.pid max_conns: 1024 max_persistent_conns: 100 require: [] wait: 30 daemonize: true rackup: config.ru servers: 5
thinを起動する。
# /etc/rc.d/thin start