6

更新:「passenger-memory-stats」を入力すると、次のように表示されます:

---Passenger processes---
Processes: 0

これをトラブルシューティングするにはどうすればよいですか? httpd.conf に追加して apache を再起動しても、passenger が起動しないのはなぜですか?

Phusion Passenger がサーバー上で Ruby on Rails を実行するのに問題があります。Phusion Web サイトのすべての指示に従い、パッセンジャーをインストールし、新しいディレクトリを指すように Apache VirtualHost を変更して作成し、すべての .conf ファイルが正常にロードされていることを確認しました。httpd -M Passenger_module もロードされます。また、localhost で Passenger Standalone と Rails サーバー webrick を正常に実行し、curl で動作することを確認できました。

しかし、ブラウザーからドメインを実行しようとすると、404 not found が表示されるか、VirtualHost の下の DocumentRoot で指定されたフォルダーに作成した空のインデックス ファイルが表示されます (したがって、.conf を読み込んで正しいディレクトリに移動していることがわかります)。 )しかし、それはRailsアプリケーションをロードしていません....誰かが私が間違っていることを指摘できますか? ここに私の設定と構成があります:

ruby -v:
ruby 2.1.2p95

rails -v:
Rails 4.2.3

passenger -v:
Phusion Passenger version 5.0.15

httpd -v:
Apache/2.2.27 (Unix)

opearting system:
CentOS

uname -i: 
x86_64

httpd.conf:

Include "/usr/local/apache/conf/includes/mydomain.conf"
LoadModule passenger_module /usr/local/rvm/gems/ruby-2.1.2/gems/passenger-5.0.15/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/local/rvm/gems/ruby-2.1.2/gems/passenger-5.0.15
PassengerDefaultRuby /usr/local/rvm/gems/ruby-2.1.2/wrappers/ruby
</IfModule>

/usr/local/apache/conf/includes/mydomain.conf:

<VirtualHost 208.79.235.241:80>
ServerName mydomain.com
DocumentRoot /home/clevert/public_html/rails_apps/mydomain.com/public
PassengerRuby /usr/local/rvm/gems/ruby-2.1.2/wrappers/ruby
<Directory /home/clevert/public_html/rails_apps/mydomain.com/public>
Allow from all
Options -MultiViews
</Directory>
</VirtualHost>

ruby-command に関するパッセンジャー設定:

Command: /usr/local/rvm/gems/ruby-2.1.2/wrappers/ruby

旅客構成の検証-インストール:

Checking whether this Passenger install is in PATH... ✓
Checking whether there are no other Passenger installations... ✓
Checking whether Apache is installed... ✓
Checking whether the Passenger module is correctly configured in Apache... ✓
Everything looks good. :-)
4

2 に答える 2

2

PassengerAppRootディレクティブが不足しているようです。

Ubuntu 14.04 マシンで旅客を正常に実行しています。私の/etc/apache2/sites-enabled/app.example.com.confファイルには、さらにいくつかのディレクティブがあります。CentOSに必要かどうかはわかりませんが、Ubuntuで実行するために必要でした。

また、私はrbenv代わりに使用しており、サーバー上でrvmCapistrano を介してデプロイしてdeployerいます。

私のapp.example.com.confファイルの関連部分は次のとおりです。

  DocumentRoot /srv/http/app.example.com/current/public
  <Directory /srv/http/app.example.com/current/public>
    Order allow,deny
    Allow from all
    Require all granted
  </Directory>

  PassengerRuby /home/deployer/.rbenv/shims/ruby
  PassengerAppType rack
  PassengerAppRoot /srv/http/app.example.com/current
  PassengerStartupFile config.ru
  PassengerRestartDir /srv/http/app.example.com/current/tmp
  PassengerDebugLogFile /srv/http/app.example.com/shared/log/passenger.log
  # 0 = warn; 1 to 3, increasing levels of debugging information
  PassengerLogLevel 1
于 2015-08-26T00:43:01.240 に答える
2

さて、これを解決しようとする欲求不満/魅力の数週間後、私は解決策を持っています。これがこれに苦労している誰かを助けることを本当に願っています!

問題: サーバーに apache と litespeed の両方をインストールしましたが、それが唯一の原因でした! litespeed を完全に無効にして apache に切り替え (WHM コントロール パネルを使用して 2 つを簡単に切り替えることができます)、passenger-memory-stats を再度実行すると、すべてが機能し始めました! Passenger auto が魔法のようにプロセスに表示され、アプリをロードしたときにアプリがメモリ統計にも表示されました!

于 2015-08-28T16:21:54.970 に答える