I'm getting an error when starting passenger standalone (passenger start
):
*** ERROR ***: Cannot execute 2.3.1: No such file or directory (2)
I'd like to know where this error is coming from so I can resolve it. Is there any kind of backtrace I can see so I can debug it?
In researching, I see others (here and here) have had the same error, but with executing usr/bin/ruby
. I must have some configuration that is pointing to a wrong directory when it needs to point to ruby, but I can't see where that might be happening.
I don't get much helpful output when I run passenger start --log-level=7
[ D 2018-03-02 14:27:56.4550 25489/Te LveLoggingDecorator.h:67 ]: LVE not in [pid 25489, uid 501, min_uid 500]
[ D 2018-03-02 14:27:56.4556 25489/Te age/Cor/Spa/SmartSpawner.h:280 ]: Preloader process forked for appRoot=/home/judo/apps/foo/current: PID 25522
App 25522 stdout:
App 25522 stderr: *** ERROR ***: Cannot execute 2.3.1: No such file or directory (2)
[ E 2018-03-02 14:27:56.5158 25489/Te age/Cor/App/Implementation.cpp:304 ]: Could not spawn process for application /home/judo/apps/foo/current: An error occurred while starting up the preloader. It exited before signalling successful startup back to Phusion Passenger.
Error ID: 058be22e
Error details saved to: /tmp/passenger-error-O5Bmb7.html
and the error details saved are just the same details. I also have been watching my application logs (~/apps/foo/current/log/passenger.3000.log
), but it's also all more of the same thing.
Where in my configuration should I be specifying a path to an executable, rather than 2.3.1
?
$ echo $PATH
/home/judo/.rvm/gems/ruby-2.3.1/bin:/home/judo/.rvm/gems/ruby-2.3.1@global/bin:/home/judo/.rvm/rubies/ruby-2.3.1/bin:/home/judo/.rvm/bin:/usr/local/cpanel/3rdparty/lib/path-bin:/usr/local/jdk/bin:/home/judo/perl5/bin:/usr/local/cpanel/3rdparty/lib/path-bin:/usr/local/cpanel/3rdparty/lib/path-bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/cpanel/composer/bin:/usr/local/easy/bin:/usr/local/bin:/usr/X11R6/bin:/home/judo/bin
Passenger 5.1.12, RVM 1.29.3, Ruby 2.3.1, CentOS 6.9, Apache 2.4.29
Update
One thing I noticed in the logs, with reference to 2.3.1 is this:
Parsing 550 bytes of HTTP header: "HEAD / HTTP/1.1\r[...]\n!~PASSENGER_RUBY: 2.3.1\
So it appears the passenger ruby variable is being set to 2.3.1
, instead of /home/judo/.rvm/wrappers/ruby-2.3.1/ruby
. However, in my apache pre_main_global.conf file, I have:
PassengerDefaultRuby /home/stevensp/.rvm/wrappers/ruby-2.3.1/ruby
and under the domain entry in my httpd.conf file, I have:
<Directory ~/foo/public/>
Options FollowSymLinks
AllowOverride all
PassengerEnabled on
Order allow,deny
Allow from all
</Directory>
LoadModule passenger_module /home/judo/.rvm/gems/ruby-2.3.1/gems/passenger-5.2.1/buildout/apache2/mod_passenger.so
PassengerRoot /home/judo/.rvm/gems/ruby-2.3.1/gems/passenger-5.2.1
PassengerRuby /home/judo/.rvm/gems/ruby-2.3.1/wrappers/ruby
PassengerResolveSymlinksInDocumentRoot on
# DocumentRoot /home/judo/foo/public
DocumentRoot /home/judo/public_html/foo
Options -MultiViews
How where else could it be set?