Installing Passenger Enterprise + Nginx on a Linux/Unix production server
for Node.js apps + Mac OS X

This page describes the installation of Passenger through the following operating system or installation method: Mac OS X. Not the configuration you are looking for? Go back to the operating system / installation method selection menu.

On this page, we will install Passenger. After installing Passenger we can begin with deploying the app.

Table of contents

  • Loading...

Step 1: download and install your license key

Before you can install Passenger Enterprise, you need to download and install your license key. This is a regular file that you need to copy to your production server.

Please login to the Passenger Enterprise Customer Area.

Customer Area login screen

Click on the Install button in the Customer Area.

Customer Area install button

Click on the button to download the license key.

License key download button in the Customer Area

The license key will be downloaded to your local computer. Copy this license key file to your production server, for example using scp:

local-computer$ cd /path-to-your-local-computer-download-folder
local-computer$ scp passenger-enterprise-license adminuser@yourserver.com:

Replace adminuser with the name of an account with administrator privileges or sudo privileges.

Finally, login to your production server and save the file as /etc/passenger-enterprise-license:

local-computer$ ssh adminuser@yourserver.com
production-server$ sudo mv passenger-enterprise-license /etc/passenger-enterprise-license
production-server$ chmod 644 /etc/passenger-enterprise-license

Step 2: obtain your download token

Your download token is needed in order to install Passenger Enterprise. In the Customer Area, find your download token and copy it to your clipboard.

Exhibit of the download token in the Customer Area

Step 3: install Passenger package

You can install Passenger through Homebrew:

$ brew tap phusion/passenger
$ brew install nginx-passenger-enterprise

You will be prompted to provide your download token when you install Passenger Enterprise through Homebrew, to avoid this prompt create a file at `~/.passenger-enterprise-download-token` containing only your token.

Not using Homebrew? Please go back to the operating system selection menu and choose "Other" as operating system.

Step 4: enable the Passenger Nginx module and restart Nginx

Passenger is now installed, but it still needs to be enabled inside Nginx. Run brew info nginx-passenger-enterprise and follow the instructions in the "Caveats" section:

$ brew info nginx-passenger-enterprise
...
==> Caveats
...

To activate Passenger, ...
(...more instructions that you should follow...)

When you are done following the instructions, restart Nginx:

$ sudo launchctl unload /usr/local/opt/nginx-passenger-enterprise/*.plist
$ sudo launchctl load /usr/local/opt/nginx-passenger-enterprise/*.plist

Step 5: check installation

After installation, please validate the install by running sudo /usr/local/bin/passenger-config validate-install. For example:

$ sudo /usr/local/bin/passenger-config validate-install
 * Checking whether this Phusion Passenger install is in PATH... ✓
 * Checking whether there are no other Phusion Passenger installations... ✓

All checks should pass. If any of the checks do not pass, please follow the suggestions on screen.

Finally, check whether Nginx has started the Passenger core processes. Run sudo /usr/local/bin/passenger-memory-stats. You should see Nginx processes as well as Passenger processes. For example:

$ sudo /usr/local/bin/passenger-memory-stats
Version: 5.0.8
Date   : 2015-05-28 08:46:20 +0200
...

---------- Nginx processes ----------
PID    PPID   VMSize   Private  Name
-------------------------------------
12443  4814   60.8 MB  0.2 MB   nginx: master process /usr/sbin/nginx
12538  12443  64.9 MB  5.0 MB   nginx: worker process
### Processes: 3
### Total private dirty RSS: 5.56 MB

----- Passenger processes ------
PID    VMSize    Private   Name
--------------------------------
12517  83.2 MB   0.6 MB    PassengerAgent watchdog
12520  266.0 MB  3.4 MB    PassengerAgent server
12531  149.5 MB  1.4 MB    PassengerAgent logger
...

If you do not see any Nginx processes or Passenger processes, then you probably have some kind of installation problem or configuration problem. Please refer to the troubleshooting guide.

Next step

Now that you have installed Passenger, you are ready to deploy your Node.js application on the production server!

Continue: Deploy app »