CentOS7のApacheでRubyを動かす-さくらのVPS

ApacheでRubyを動かすように設定をしたいと思います。事前にCentOSにRubyをインストールする-さくらのVPSを見てRubyのインストールが終わっている事が前提となります。

ApacheでRubyを動かすにはpassengerを使う

passengerを使う事でApacheでRubyの実行をすることが可能となります。というわけでインストールしていきます。

passengerインストール

# gem install passenger
# passenger-install-apache2-module

このあと基本的に全てエンターだけ押していてください。最後にテキストが表示されるのでそれをメモ帳などにコピーしてください。

LoadModule passenger_module /usr/local/src/rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/passenger-5.0.25/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
  PassengerRoot /usr/local/src/rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/passenger-5.0.25
  PassengerDefaultRuby /usr/local/src/rbenv/versions/2.3.0/bin/ruby
</IfModule>

このような形ででてきます。

もし後でテキストだけ見たい場合は

# passenger-install-apache2-module --snippet

これでテキストを見ることができます。

passenger.confの設定

# vi /etc/httpd/conf.d/passenger.conf
# Passenger base config
LoadModule passenger_module /usr/local/src/rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/passenger-5.0.25/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
  PassengerRoot /usr/local/src/rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/passenger-5.0.25
  PassengerDefaultRuby /usr/local/src/rbenv/versions/2.3.0/bin/ruby
</IfModule>
 
# Delete Passenger's HTTP Header
Header always unset "X-Powered-By"
Header always unset "X-Rack-Cache"
Header always unset "X-Content-Digest"
Header always unset "X-Runtime"
 
# Passenger tuning config
PassengerMaxPoolSize 20
PassengerMaxInstancesPerApp 4
PassengerPoolIdleTime 3600
PassengerHighPerformance on
PassengerStatThrottleRate 10
RailsSpawnMethod smart
RailsAppSpawnerIdleTime 86400
PassengerMaxPreloaderIdleTime 0

としてApacheの再起動をします。

systemctl restart httpd

で再起動します。次回はSinatraのインストールを実行します。