Skip to main content

Deploy Ubuntu 18.04 Bionic Beaver Discussion

General • Asked by Chris Oliver

Thanks for this article, Chris! I'm struggling to get past the step of installing NGINX with Passenger. The command 
sudo apt-get install -y nginx-extras passenger
...results in a message about several dependencies that are not installable. Do you know how to get around this?


# Add Passenger APT repository
sudo sh -c 'echo deb bionic main > /etc/apt/sources.list.d/passenger.list'
sudo apt-get update

Make sure it's bionic and not xenial - if you've already run this step, you'll have to update 
to make sure it's bionic as well

phusionpassenger - just updated its nginx - passenger instructions & software.

Thanks btihen! I'll get the tutorial updated for its changes shortly!

When I tried to start nginx (sudo service nginx start), I got the following error:
Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xe" for details.
Problem: There was no /usr/sbin/nginx directory.

I solved the problem by: sudo apt-get install nginx
but I am wondering why it happened...
Did Phusion change the way Passenger is installed with nginx?

On another note: It would be nice for us newbies to describe Passenger and Capistrano and why you are installing them.

Thanks for the guide...
I had the same issue, Earl. I think the author assumed that by installing the passenger module, nginx would be installed automatically as a dependency. Maybe there's been a change in the repository, but in my case nginx didn't install either, it had to be done specifically with
sudo apt install nginx


I get the error:

The following packages have unmet dependencies:
libnginx-mod-http-passenger : Depends: passenger (= 1:5.3.4-1~bionic1) but it is not going to be installed
Depends: nginx-common (= 1.14.0-0ubuntu1) but 1.14.0-0ubuntu1.1 is to be installed

When I just followed this. Seems some packages were updated but the requirements on nginx requires the old version?


Hey Daniel,

Looks like there's just a temporary issue with Passenger's package as of last night. They're fixing it but here's a workaround:

We ran into the same thing on Hatchbox and the workaround fixes it.


I am wondering if there is a variant toturial for the Puma, Nginx and Capistrano setup? Is Puma a less viable app server for production? Can we invoke a small discussion on this?


Something I'll probably add a some point soon now that Puma ships with Rails by default.

Puma is great too, but this tutorial is intended for beginners and Puma requires you to setup, run, manage, and monitor a separate process on the server independent of NGINX. It's just a lot less beginner friendly in production so that's why Passenger is the default. It's much easier to get up and running to learn the ropes and once you've done it successfully you can swap over to Puma if you like.

Login or create an account to join the conversation.