web-dev-qa-db-ja.com

Apache2セットアップ用のModRails:ロードに失敗しますか?

UbuntuでApache2/Passengerを実行しているRuby on Rails)の新規インストールを実行しようとしています。Apache2、rvm、Rubyを正常にインストールできました。 、Railsと乗客、後半は this チュートリアルに続きます。すべてのインストールはスムーズに進みました。最終的には次のバージョンのソフトウェアになります。

  • AmazonEC2で実行されているUbuntu11.10
  • Apache 2.2.20
  • RVM 1.10.2
  • Ruby 1.9.3p0
  • Rails 3.1.3
  • 乗客3.0.11

_passenger-install-Apache2-module_を実行した後、インストーラーは私に次のことを勧めました。

_Please edit your Apache configuration file, and add these lines:

LoadModule passenger_module /usr/local/rvm/gems/Ruby-1.9.3-p0/gems/passenger-3.0.11/ext/Apache2/mod_passenger.so
PassengerRoot /usr/local/rvm/gems/Ruby-1.9.3-p0/gems/passenger-3.0.11
PassengerRuby /usr/local/rvm/wrappers/Ruby-1.9.3-p0/Ruby
_

Mod_passengerを使用するようにApache2を接続するとき、ここで問題が発生します。

_/etc/Apache2/mods-available_に移動して編集します:

passenger.load

_LoadModule passenger_module /usr/lib/Apache2/modules/mod_passenger.so`
_

_LoadModule passenger_module /usr/local/rvm/gems/Ruby-1.9.3-p0/gems/passenger-3.0.11/ext/Apache2/mod_passenger.so` 
_

passenger.conf

_<IfModule mod_passenger.c>
  PassengerRoot /usr
  PassengerRuby /usr/bin/Ruby
</IfModule>
_

_<IfModule mod_passenger.c>
  PassengerRoot /usr/local/rvm/gems/Ruby-1.9.3-p0/gems/passenger-3.0.11
  PassengerRuby /usr/local/rvm/wrappers/Ruby-1.9.3-p0/Ruby
</IfModule>
_

次に、_apachectl restart_を介してサーバーを再起動します。サイトをロードすると、GoogleChromeから見たHTTPエラーが表示されます。

Error 324 (net::ERR_EMPTY_RESPONSE): The server closed the connection without sending any data.

そして、Apache /var/log/Apache2/error.logをチェックすると、次のことがわかります。

_[Thu Jan 19 19:32:07 2012] [notice] Apache/2.2.20 (Ubuntu) Phusion_Passenger/3.0.11 configured -- resuming normal operations
[Thu Jan 19 19:32:09 2012] [notice] child pid 4163 exit signal Segmentation fault (11)`
_

したがって、modが正しくロードまたは実行されていないように見えます。これを修正するにはどうすればよいですか?

編集:追加情報

私の仮想ホスト:

_<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /somewhere/public
ServerName mydomain.com
ServerAlias *.mydomain.com

RackBaseURI /
RackEnv production
PassengerMaxPoolSize 4

<Directory "/somewhere/public">
        Options Indexes FollowSymLinks -MultiViews
        AllowOverride all
        Order allow,deny
        Allow from all
</Directory>
</VirtualHost>
_
1
David Elner

私はこの問題に何時間も費やしましたが、簡単な解決策を見つけることができませんでした。 Apacheを「ダンプコア」にするか、gdbを使用してプロセスにアタッチすることで、このセグメンテーション違反をデバッグできるはずだと学びましたが、どちらもこの問題に関する詳細情報を表示できませんでした。

代わりに、EC2で実行していたので、ベースのUbuntu AMIを再度リロードして、クリーンな状態から始めることにしました。これらすべてのアプリケーションを細心の注意を払って再インストールした後、セグメンテーション違反なしで実行され、Ruby on Railsサーバーを正常に起動できました。それは私の構成またはセットアップのせいである可能性が最も高いです(おそらく私は依存関係を見逃し、間違った順序でインストールしましたか?)

この問題が発生し、簡単に新規インストールできるようになった場合は、あいまいなバグを追跡するために時間を無駄にするよりも、その方が簡単な場合があります。

1
David Elner