この方法は推奨されません:ApacheでRubyを動かす方法-CentOS7
ApacheでRubyをインストールしました。今度はフレームワークであるsinatraやRailsをブラウザで見られるようにしたいと思います。このやり方をしてもsinatraは動きません。
passengerをインストール
まずはpassengerをインストールします。
# gem install passenger
Rubyがインストールされていればgemはインストールすることができます。Rubyのインストールについてはこちらをご覧下さい。
Apacheのモジュールをビルド
# passenger-install-apache2-module
このあと基本的に全てエンターだけ押していてください。最後にテキストが表示されるのでそれをメモ帳などにコピーしてください。
LoadModule passenger_module /root/.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 /root/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/passenger-5.0.25
PassengerDefaultRuby /root/.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 /root/.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 /root/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/passenger-5.0.25
PassengerDefaultRuby /root/.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の再起動をすれば良いみたいです。
サンプルプログラムを書いてみる
main.rbとファイル名をします
puts 'Hello, world!'
後はruby main.rbといれれて返事が返ってくれば完璧です。 フレームワークをいれてどうやってブラウザで見れば良いんだろう・・・やり方がわかりません!
