RLB

Just sharing knowledge

CentOS6にrbenv + ruby + rails + passengerを高速で環境構築(2013年度版)

f:id:rksz:20130217145457j:plain

よく手順書引き出しているのでブログに記載。変更あればこちらの記事を随時アップデート予定です。

インストール

(1) yum

yum -y install zlib zlib-devel readline readline-devel openssl openssl-devel curl curl-devel

zlibなどパッケージが無い状態でrubyインストールすると、no such file to load --zlibなど出て面倒なので、予め全部インストールしておく。

(2) rbenv & ruby (rubyバージョン管理)

cd /usr/local
git clone git://github.com/sstephenson/rbenv.git rbenv
mkdir rbenv/shims rbenv/versions
chgrp -R groupname rbenv
chmod -R g+rwxXs rbenv
git clone git://github.com/sstephenson/ruby-build.git ruby-build
cd ruby-build
./install.sh

/etc/profileの追記

export RBENV_ROOT="/usr/local/rbenv"
export PATH="/usr/local/rbenv/bin:$PATH"
eval "$(rbenv init -)"

rubyバージョン設定

rbenv install -v
rbenv install 1.9.2-p290
rbenv global 1.9.2-p290

(3) rails

gem install bundler rails

(4) passenger (apache起動用モジュール)

#インストール
gem install passenger
passenger-install-apache2-module
passenger-install-apache2-module --snippet

#出力後以下のようなメッセージが出るのでメモ
#----------------------------------------
#LoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.2-p290/gems/passenger-
#3.0.18/ext/apache2/mod_passenger.so
#PassengerRoot /usr/local/rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.18
#PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.2-p290/ruby
#----------------------------------------

vim /etc/httpd/conf.d/passnger.conf

# Passengerの基本設定。
# passenger-install-apache2-module --snippet を実行して表示される設定を使用。
LoadModule passenger_module /usr/lib64/ruby/gems/1.9.1/gems/passenger-3.0.19/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib64/ruby/gems/1.9.1/gems/passenger-3.0.19
PassengerRuby /usr/bin/ruby
# Passengerが追加するHTTPヘッダを削除するための設定。
Header always unset "X-Powered-By"
Header always unset "X-Rack-Cache"
Header always unset "X-Content-Digest"
Header always unset "X-Runtime"

# 必要に応じてPassengerのチューニングのための設定を追加。
PassengerMaxPoolSize 20
PassengerMaxInstancesPerApp 4
PassengerPoolIdleTime 3600
PassengerUseGlobalQueue on
PassengerHighPerformance on
PassengerStatThrottleRate 10
RailsSpawnMethod smart
RailsAppSpawnerIdleTime 86400
RailsFrameworkSpawnerIdleTime 0

参考

さくらVPS/CentOS 6.3 Passengerのインストール手順[Apache][Railsサーバへの道] http://morizyun.github.com/blog/passenger-install-apache-ruby-rails/