nginx+passengerでやるruby on rails3.1設定方法

nginx+passengerのインストール

gemを使ってpassengerをインストールします。

gem install passenger

curl-develのインストールができていない場合は

yum install curl-devel

nginxのモジュールをインストールします。

passenger-install-nginx-module

基本的にほとんどEnterで進めて大丈夫です。

カスタムしたnginxかスタンダードのnginxをインストールするか聞かれます。
カスタマイズを別段する必要がなければ、1を選んでください。


最後にnginxに記入する必要がある部分を聞かれます。



上記のようにnginx.confを書き換えます。

vi /opt/nignx/conf/nignx.conf




rootの部分にrailsのpublicを指定します。
passenger_enabled on;を記入
server_name 自分のドメインを記入
書き換えが完了したらnginx を起動させます。

/opt/nginx/sbin/nginx

※nginxの再起動や停止

/opt/nginx/sbin/nginx -s reload
/opt/nginx/sbin/nginx -s stop

※`autodetect’: Could not find a JavaScript runtime.のエラー対処法

rails 3.1のpre番をインストールして、generateするときにjavascriptのエラーが出ることがあります。

vi Gemfile

Gemファイル内に下記を追加します。

gem 'therubyracer'
gem 'execjs'

後は反映させるために

bundle install

uninitialized constant Rake::DSLのエラー

rake db:migrateをしたときにエラーが出た場合

vi Gemfile

Gemファイル内に下記に書き換え、rakeのバージョンを0.8.7に変更します。

gem 'rake', '0.8.7'

後は反映させるために

bundle update

CentOSの時にでるエラー

29: [BUG] Segmentation fault
これはrubyが自動的にprelinkされることにより起こるエラーです

prelink -u /usr/bin/ruby
を行うか、
/etc/prelink.confに

-b /usr/bin/ruby

を記入することでprelinkされないようすることができます。


コメントする