with rails ocean digitalocean deploy app ruby-on-rails nginx passenger

ruby on rails - rails - Nginx y las dependencias de pasajeros(Digital Ocean Deployment)



puma nginx capistrano (5)

Cuando recibí este error fue porque la versión del pasajero que estaba tratando de instalar no coincidía con la versión de ubuntu. Comprueba que estás en Ubuntu 14.04.

Si no, la línea deb https://oss-binaries.phusionpassenger.com/apt/passenger trusty main en /etc/apt/sources.list.d/passenger.list debe cambiar para que coincida con su versión de ubuntu.

Luego ejecuta sudo apt-get update

Estoy tratando de seguir esta guía

https://www.digitalocean.com/community/tutorials/how-to-deploy-a-rails-app-with-passenger-and-nginx-on-ubuntu-14-04

Cuando quiero continuar con el tutorial después de ejecutar este comando:

sudo apt-get install nginx-extras passenger

Me sale este error:

Reading package lists... Done Building dependency tree Reading state information... Done passenger is already the newest version. Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: nginx-extras : Depends: perlapi-5.18.2 but it is not installable Depends: libperl5.18 (>= 5.18.2) but it is not installable Recommends: passenger (< 4.0.60) but 1:4.0.59-1~trusty1 is to be installed E: Unable to correct problems, you have held broken packages.

Creo que no puedo instalar nginx-extras, ¿Alguien me puede ayudar, por favor?


Si estás en Ubuntu 16.04 haz lo siguiente

# Install our PGP key and add HTTPS support for APT sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7 sudo apt-get install -y apt-transport-https ca-certificates # Add our APT repository sudo sh -c ''echo deb https://oss-binaries.phusionpassenger.com/apt/passenger xenial main > /etc/apt/sources.list.d/passenger.list'' sudo apt-get update # Install Passenger + Nginx sudo apt-get install -y nginx-extras passenger


Tal vez el error de la versión de Ubuntu, intente con este comando:

sudo sh -c ''echo deb https://oss-binaries.phusionpassenger.com/apt/passenger xenial main > /etc/apt/sources.list.d/passenger.list''


Tuve el mismo problema en Ubuntu 14.10

sudo nano /etc/apt/sources.list.d/passenger.list

comentar
deb https://oss-binaries.phusionpassenger.com/apt/passenger trusty main

Ctrl + x
Y
entrar

sudo apt-get update sudo apt-get install nginx nginx-extras

entonces si esta bien

sudo nano /etc/apt/sources.list.d/passenger.list

insertar
deb https://oss-binaries.phusionpassenger.com/apt/passenger wheezy main

Ctrl + x
Y
entrar

sudo apt-get update sudo apt-get install passenger

Voila!


nginx-full lugar de nginx-extras debido a este problema. Estoy corriendo 14.10 porque quiero Postgres 9.4.

Recibí un montón de errores extraños, y accidentalmente seguí las instrucciones del pasajero más allá de las instrucciones de APT. Whoops. Así que originalmente seguí la respuesta de @Maciej-adamczewski, pero él está agregando una instalación de Debian 7 para pasajeros en lugar de una instalación de Ubuntu 14.04. Esto me estropeó.

Esto es lo que hice para ordenarme:

sudo apt-mark showhold # apparently I had nothing in here sudo apt-get autoclean sudo apt-get update && sudo apt-get upgrade # I hoped upgrade would get rid of that error re: nginx-extras # it didn''t at all, so decided to scrap and start over sudo apt-get purge nginx* # to get rid of everything nginx sudo apt-get remove nginx* # paranoia sudo apt-get purge passenger sudo apt-get remove passenger # paranoia again sudo apt-get autoremove sudo apt-get update sudo apt-get install nginx-full passenger

¡Auge! Consiguió que nginx funcionara correctamente.

No dice en la pieza de Digital Ocean, pero si instaló RVM en lugar de ruby ​​directamente, tendrá que averiguar dónde está su rvm ruby:

rvm use passenger-config --ruby-command

Y luego copie y pegue la información nginx que dice passenger_ruby /usr/local/... y anule la línea de passenger_ruby original en su archivo /etc/nginx/nginx.conf .

Más adelante, cuando cree sitios, asegúrese de agregar passenger_enabled on; en su bloque de servidor para nginx!

apoyos locos a este tipo: configuración de rieles en DO