###1.Passengerのインストール
% gem install passenger
###2.PassengerのApacheモジュールのインストール
# モジュールのインストールに必要なものをインストール
# 自分の環境ではこの4つがなかった
% yum install curl-devel
% yum install httpd-devel
% yum install apr-devel
% yum install apr-util-devel
# passengerのapacheモジュールのインストール
% passenger-install-apache2-module
インストール後、以下のコマンドを実行。
% passenger-install-apache2-module --snippet
# 以下をPassengerの設定で使うので、メモ
LoadModule passenger_module /home/masa2sei/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/passenger-4.0.18/buildout/apache2/mod_passenger.so
PassengerRoot /home/masa2sei/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/passenger-4.0.18
PassengerDefaultRuby /home/masa2sei/.rbenv/versions/1.9.3-p194/bin/ruby
###3.Passengerの設定
/etc/htpd/conf.d
の下にpassenger.confを以下の内容で作成。
※作成するファイルは拡張子が.confなら、何でもいい。
# 2でメモったメッセージ
LoadModule passenger_module /home/masa2sei/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/passenger-4.0.18/buildout/apache2/mod_passenger.so
PassengerRoot /home/masa2sei/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/passenger-4.0.18
PassengerDefaultRuby /home/masa2sei/.rbenv/versions/1.9.3-p194/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"
# この辺の設定は必要なら
PassengerMaxPoolSize 20
PassengerMaxInstancesPerApp 4
PassengerPoolIdleTime 3600
PassengerHighPerformance on
PassengerStatThrottleRate 10
# Apacheの文法チェック
% apachectl configtest
Syntax OK
Apacheの再起動
% service httpd restart
###4.VirtualHostの設定
/etc/httpd/conf.d/passnger.conf
に以下を追記。
------------------略------------------
<VirtualHost *:80>
# ドメイン
ServerName 自分のドメイン
# sinatraアプリのルート
DocumentRoot "/var/www/apps/sinatra/sinatra_sample/public"
RackEnv production
</VirtualHost>
/etc/httpd/conf/httpd.conf
を編集し、VirtualHostを有効にする。
# コメント解除
# NameVirtualHost *:80
NameVirtualHost *:80
Apacheの再起動
% service httpd restart
###5.Sinatraアプリの作成
sinatra.confで指定したsinatraアプリのルートディレクトリの下に以下のようなファイルとディレクトリを作成。
public
、tmp
ディレクトリの中はとりあえず、空でOK。
sinatra_sample
|
ー config.ru
|
ー hello.rb
|
ー public/
|
ー tmp/
require 'sinatra'
get '/' do
'Hello World!'
end
require File.expand_path(File.dirname(__FILE__)) + '/hello'
run Sinatra::Application
##参照
・さくらVPS/CentOS 6.3 Passengerのインストール手順[Apache][Railsサーバへの道]
・Linux(CentOS)のApache+PassengerでRuby on Railsを動かす
・ModularStyleのSinatraをPassengerで公開