toolboxsearchをrails3.1.0に対応
overview
The Ruby Toolbox Searchを
Rails3.1.0に対応しています。
ついでに下記作業も実施。
・サーバーをlinodeからsakuraに移行
・tkの独自ドメインを取得してみました
・実行環境をapache + passenger からnginx + unicornに変更
移行前(じきに消します)
http://www.rochefort/toolbox_search/
移行後
http://www.toolboxsearch.tk/
linodeからsakuraへの移行
Linode - Xen VPS Hostingは
コンソールが充実していたり、初期化スクリプトも選択できたり、iPhoneアプリまであって
充実しているのですが、以下の理由から思い切って乗り換えてみました。
・レイテンシが気になる(やっぱ国内に比べると遅い)
・若干sakuraの方が安い
コンソール機能はしょぼいですが、レイテンシが個人的にはストレスだったので
今のところ不満は無いです。
余談ですが、sakuraがCentOSしか対応していないのを見ると、日本ではdebian系よりredhat系の方が主流なんでしょうか。
tkドメイン取得
Dot TK - Renaming The Internet
ある日突然使えなくなっても文句言えない感じですが
無料の割には使えそうな感じです。
DNSの反映が、1時間くらい掛かりました。
そもそも、The Ruby Toolbox Searchのコンテンツが
他人のフンドシ(The Ruby Toolbox - Know your options!)な感じなので
仮に急に使えなくなってもいいかなと。
nginx + unicorn
unicorn使うより、passenger使った方が楽チンな印象です。
nginx + unicornをタダ使ってみたかっただけです。
nginxはとても良さげですが
unicornは、passengerと比べると運用が面倒な印象です。
tuningなどは、今後やっていきます。
はまったコト
サブディレクトリでの複数アプリ起動
tkドメイン取得するまでは
サブディレクトリ切って、複数アプリを実行する方式にしようと思っていました。
(専用ドメインとなったので、今はこの方式ではないです)
んで、passengerのように簡単にできるかと思っていましたが、
あんまり情報が無く(割と需要のある方式だと思うんだけどなぁ)、随分はまりました。
解決方法はこちらに記載されています。
ありがとうございます。
nginx+Unicornでサブディレクトリでアプリを動かす | ひげろぐ
やり方は、railsのpublicディレクトリに対してsymblic linkを
nginxのrootディレクトリに張ります。
これはpassengerと同じです。
あとは、サブディレクトリ用にlocationを切ってrailsに流すという設定を入れます。
最後にrails(rack)側でRAILS_RELATIVE_URL_ROOTをマップするという方法なのですが
rails3からrelative_url_rootがdeprecateとなったため、
ここでいろいろ試してみましたが、結果、参考URLのやり方でしか、うまくいきませんでした。
ちなみに、config.ru消す方法も紹介されていますが
これはunicorn_railsで起動した場合です。
あと、pathオプションでRAILS_RELATIVE_URL_ROOTが自動で設定されるというのも。
ややこしいのですが、unicorn/unicorn_railsというコマンドがあり
せっかくなので、rackアプリ(rails3)用のunicornコマンドで起動してみています。