ruby-on-railsrubyapachepassengerphusion

Phusion Passenger Not Working on Apache


UPDATE: When entering 'passenger-memory-stats' I'm showing:

---Passenger processes---
Processes: 0

How do I troubleshoot this? Why would passenger not be starting even though I added it in httpd.conf and restart apache?

I'm having trouble getting Phusion Passenger to Run Ruby on Rails on a server. I've followed all instructions at Phusion web site and installed passenger and modified and created Apache VirtualHost to point to the new directory and verified that all .conf files are being loaded successfully. Also httpd -M passenger_module is loaded. I also successfully ran Passenger Standalone and Rails server webrick on localhost and was able to verify that it works with curl.

But when I try to run my domain from the browser, I just get a 404 not found or an empty index file that I create in that folder specified by the DocumentRoot under VirtualHost (so I know it's loading .conf and going into the right directory) but it's not loading Rails Application....Can someone please point out what I'm doing wrong? Here are my settings and config:

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>

passenger-config about ruby-command:

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

passenger-config validate-install:

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. :-)

Solution

  • Okay so after a couple of weeks of frustration/fascination trying to work this out, I have the solution and I really hope it helps someone out there struggling with this!

    THE PROBLEM: I had both apache and litespeed installed on my server and that was the only culprit! I completely disabled litespeed and switched over to apache (you can easily switch between the two using WHM control panel) and ran the passenger-memory-stats again, and everything started working! Passenger auto magically showed up in the processes and then the app showed up in the memory stats as well when I loaded the app!