Phusion passenger-status: what value for passenger_instance_registry_dir?

后端 未结 4 1615
感动是毒
感动是毒 2020-12-31 05:54

I\'ve done a new install of nginx 1.6.3 and passenger 5.0.15 on Ubuntu 14.04 from source in order to add tracing components from AppNeta for my ROR 4.2 app on one of my serv

相关标签:
4条回答
  • 2020-12-31 06:18

    Passenger author here.

    /tmp/passenger.JxmCeiA is an example of an instance directory. This changes indeed with every startup (because it is specific to an instance).

    The parent directory (the directory in which instance directories are located) is the instance registry directory. So in your case, the instance registry directory that is being used is /tmp.

    I'm guessing that you have some kind of Passenger installation version mismatch. We've changed the structure of the instance directory a few times in the past, and every time we did this we bump an internal version number to indicate that it's incompatible with previous Passenger versions. Can you double check the following?

    • Does Passenger appear to be otherwise running correctly?
    • What Passenger version is compiled inside Nginx?
    • What is your passenger_root set to? Does it match the Passenger version compiled inside Nginx?
    • Where is the full path to the first passenger-status in PATH? Does it match passenger_root?

    You also seem to be mixing the Phusion Passenger APT repository with source tarball install. Having multiple installations around is generally a bad idea. Try cleaning up your other installs so that you only end up with one.

    Also check whether you are setting the PASSENGER_INSTANCE_REGISTRY_DIR environment variable correctly. Note that sudo nukes environment variables, so you need to run passenger-status like this:

    # Correct:
    sudo env PASSENGER_INSTANCE_REGISTRY_DIR=/tmp passenger-status
    
    # Incorrect, sudo nukes environment variables
    export PASSENGER_INSTANCE_REGISTRY_DIR=/tmp
    sudo passenger-status
    

    Regarding lib/phusion_passenger/nginx/config_options.rb: that file mainly lists per-server and per-location config options. Many config options in the main context are either not yet ported to the config_options.rb system, or not possible because they require custom attention. At present, passenger_instance_registry_dir is implemented in ext/common/nginx/Configuration.c. As we continue to cleanup and refactor the codebase, this option may eventually be moved to config_options.rb.

    0 讨论(0)
  • 2020-12-31 06:24

    step one check phusion passenger is installed correctly

    sudo passenger-config validate-install
    

    "if you see an ouput saying, 'Everything is looks good :-)'" then you are fine, if not you need to reinstall phusion passenger, refer to https://www.phusionpassenger.com/library/walkthroughs/start/

    step two check the phusion passenger memory status

    sudo passenger-memory-stats
    

    "if you see processes running, then that's good, if not you either have to start some passenger app, or install nginx or apache with extra library for them. For nginx you need nginx and the nginx-extras".

    step three uncomment the passenger_root in the nginx.conf file (for ubuntu it's usually /etc/nginx/nginx.conf) or the apache.conf file

    restart nginx or apache

    sudo service nginx restart # (or systemctl restart nginx, for new version of linux such as ubuntu 15.04, CentOS7)
    

    now you can run

    passenger-status 
    

    the error should go away now. The mostly likely output you will get is saying "Phusion Passenger is currently not serving any applications."

    0 讨论(0)
  • 2020-12-31 06:28

    In case anyone else is having this problem when starting Passenger using a systemd service, this might be due to systemd's private /tmp. The problem was solved by adding PrivateTmp=false to the service file.

    Source

    0 讨论(0)
  • 2020-12-31 06:32

    I'm running Passenger in Nginx integration mode, on Ubuntu 20.04 and I've installed it via apt from the official repos.

    What worked for me was adding this to /etc/nginx/conf.d/mod-http-passenger.conf :

    passenger_instance_registry_dir /tmp;
    

    Restarting passenger the Capistrano way from the command line should now work:

    $ passenger-config restart-app <your_app's_root_path> --ignore-app-not-running
    

    If this works, Capistrano deployments should now work again.

    0 讨论(0)
提交回复
热议问题