Umeyashikiの日記 RSSフィード Twitter

この日記は、こちらへ移転されました。 今後、このブログは更新しません。

2010年01月31日(日)

nginxとPassengerでRailsアプリを動かしたよ

昨日インストールしたnginxとPhusion Passengerを使ってRailsアプリを使えるように設定しました.

nginxのディレクティブについてまとまったリファレンスが見付からなかったので,探り探り設定してみたので,もっと適切な方法があるかもしれません.

もしご存じの方がいらしたら,教えていただけると幸いです.

それでは,今回の設定作業について以下に.

Phusion Passengerインストール

Passengerは,gemコマンドを使ってインストール

$ gem install passenger

インストールが完了したら,nginxのモジュールを下記コマンドでインストール

$ passenger-install-nginx-module 

色々と質問に回答していくと,設定方法について表示されるので,それを保存しておきます.

デプロイしたいRailsアプリの準備

Railsアプリのpublicディレクトリをnginxのドキュメントルートから見える場所に配置します.

これはシンボリックリンクでも構わないので,アプリ自体を配置しなおすのではなく,こちらの方法を採用しました.

具体的には,

/usr/local/src/redmine

Redmineが配置されていて,

/usr/local/nginx/html

がドキュメントルートだとすれば,

$ ln -s /usr/local/src/redmine/public /usr/local/nginx/html/redmine

としました. シンボリックリンクredmineの名前はなんでも構いません.

nginxの設定ファイルを変更

Railsアプリを仮想ホストで起動するか,サブURIで起動するのか選ぶのですが,今回,サブURIとしてデプロイする方法を選びました.

http {
    # 下記2行を追加
    passenger_root /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.9;
    passenger_ruby /usr/local/bin/ruby;
    (中略)
    server {
        listen       80;
        server_name  localhost;

         (中略)

        location / {
            root   html;
            index  index.html index.htm;
         passenger_enabled on;
         passenger_base_uri /redmine;
       }
    }
}

nginxをリロード

$ nginx -s reload

でリロードすれば,設定が反映されます.

これで,http://#{あなたのドメイン}/redmineredmineにアクセスできる,はず!

参考

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/Umeyashiki/20100131/1264948069