I'm running my webserver using Passenger Standalone. I've been restarting the app as required after changes using passenger-config restart-app
, which seems to work fine. If I run passenger-status
, I see:
version : 5.0.30
Date : 2017-02-13 20:15:49 -0800
Instance: ppGvpt93 (nginx/1.10.1 Phusion_Passenger/5.0.30)
----------- General information -----------
Max pool size : 6
App groups : 1
Processes : 1
Requests in top-level queue : 0
----------- Application groups -----------
/home/ubuntu/folder1/AppRoot/public (production):
App root: /home/ubuntu/folder1/AppRoot
Requests in queue: 0
* PID: 29006 Sessions: 0 Processed: 0 Uptime: 1m 46s
CPU: 0% Memory : 18M Last used: 1m 46s ago
Similarly, when I run passenger-config list-instances
, I see:
Name PID Description
--------------------------------------------------------------------------
ppGvpt93 1396 nginx/1.10.1 Phusion_Passenger/5.0.30
However, within /home/ubuntu/folder1/AppRoot
, when I run passenger status
, I see:
Phusion Passenger Standalone is not running, according to PID file /home/ubuntu/folder1/AppRoot/tmp/pids/passenger.80.pid
What exactly is the difference between passenger-config
and passenger
, and why can I not see the running instance using the passenger status
command? The reason this came up is I wanted to activate some Passenger configuration changes (specifically, add an environment variable to Passengerfile.json
), but according to the documentation:
Restarting an application does not activate any Passenger Standalone configuration changes. You have to restart Passenger Standalone for Passenger Standalone configuration changes to take effect.
As a result, whereas passenger-config restart-app
is working for most things, it's not working for this task.
Turns out this was nothing more than a user permissions problem (i.e. I needed to run which passenger
on ubuntu
, and then run /path/to/passenger
on root
), because I suppose a non-root user cannot listen on low port numbers.