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. :-)
It looks like you are missing your PassengerAppRoot
directive.
I am running passenger successfully on my Ubuntu 14.04 machines. I have a few more directives in my /etc/apache2/sites-enabled/app.example.com.conf
file. I don't know if there are needed for CentOS but they were needed to get things running on Ubuntu.
Also, I am using rbenv
instead of rvm
and I am deploying via Capistrano as the deployer
on the server.
Here are the relevant parts of my app.example.com.conf
file:
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
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!
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With