スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

rvmでthinをOS起動時に実行する

rvmでthinをOS再起動時に動かそうとしたら意外と苦労したのでメモ。

まずはubuntu上にrvmをインストールします。

sudo aptitude install build-essential libssl-dev curl git-core autoconf
curl -L get.rvm.io | sudo bash -s stable

シェルの再起動して、rubyをインストール。

rvmsudo rvm install 1.9.3
rvmsudo rvm alias create default 1.9.3

次にgem。riとrdocは消します。

vi /home/aoyagikouhei/.gemrc
gem: --no-ri --no-rdoc
sudo rm -r `gem env gemdir`/doc
rvmsudo gem update
rvmsudo gem cleanup
rvmsudo gem install thin sinatra

ソース一式は/var/www以下に配置します。
/var/www/app/sample
/var/www/log
/var/www/pid
/var/www/sock

vi /var/www/app/sample/thin.yml
---
environment: development
timeout: 30
log: /var/www/log/sample.log
pid: /var/www/pid/sample.pid
max_conns: 1024
max_persistent_conns: 512
require: []
wait: 30
daemonize: true
socket: /var/www/sock/sample.sock
servers: 1
chdir: /var/www/app/sample


ここまでで、シェルからは起動できるようになります。
次にこれを/etc/rc.localで起動できるようにしていきます。
まずrvm環境で動作するthinの作成をします。

rvmsudo rvm wrapper global@1.9.3 start thin

最後にrc.local
sudo vi /etc/rc.local
sudo -u aoyagikouhei /usr/local/rvm/bin/start_thin start -C /var/www/app/sample/thin.yml


おまけ。nginxの設定です。
server{
listen 80;
server_name example.com;

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_max_temp_file_size 0;

location / {
proxy_pass http://sample;
}
}

upstream sample {
server unix:/var/www/sock/sample.0.sock;
}
スポンサーサイト

COMMENTS

COMMENT FORM

TRACKBACK


この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。