Appearance
Passenger (PhusionPassenger)
Phusion Passenger es un servidor de aplicaciones web y un módulo para servidores web que amplifica Nginx o Apache. Está diseñado para facilitar la implementación y gestión de aplicaciones web, especialmente aquellas desarrolladas en Ruby on Rails, Node.js, y Python.
Esta tecnología proporciona una forma sencilla y eficiente de servir aplicaciones web, manejando automáticamente la gestión de procesos, el balanceo de carga y la escalabilidad.
Instalación sobre Ubuntu 20.04
Basándonos en la documentación oficial sobre PhusionPassenger, tendríamos que ejecutar los siguientes comandos para la instalación...
bash
sudo apt update -y
sudo apt install -y nginx
sudo apt install -y dirmngr gnupg
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7
sudo apt install -y apt-transport-https ca-certificates
sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger focal main > /etc/apt/sources.list.d/passenger.list'
sudo apt update
sudo apt install -y libnginx-mod-http-passenger
if [ ! -f /etc/nginx/modules-enabled/50-mod-http-passenger.conf ]; then sudo ln -s /usr/share/nginx/modules-available/mod-http-passenger.load /etc/nginx/modules-enabled/50-mod-http-passenger.conf ; fi
sudo ls /etc/nginx/conf.d/mod-http-passenger.conf
sudo service nginx restartLuego de la instalación, podemos verificar que Passenger se haya instalado correctamente ejecutando el siguiente comando:
bash
sudo /usr/bin/passenger-config validate-installSi todo está correcto, deberíamos ver un mensaje indicando que la instalación es válida. También podemos verificar la versión instalada de Passenger con el comando:
bash
passenger --versionConfiguración básica de Nginx con Passenger
Podemos configurar un bloque de servidor en Nginx para servir nuestra aplicación web utilizando Passenger. Aquí hay un ejemplo básico de configuración para una aplicación Ruby on Rails:
nginx
server {
listen 80;
server_name example.com;
root /path/to/your/app/public;
passenger_enabled on;
passenger_app_env production;
location / {
try_files $uri/index.html $uri @app;
}
location @app {
passenger_base_uri /;
passenger_app_root /path/to/your/app;
passenger_document_root /path/to/your/app/public;
passenger_enabled on;
}
error_page 500 502 503 504 /500.html;
client_max_body_size 10M;
keepalive_timeout 10;
}Después de configurar Nginx, asegúrate de reiniciar el servicio para aplicar los cambios:
bash
sudo service nginx restartCon estos pasos, deberías tener Passenger instalado y configurado para servir tu aplicación web en un entorno Ubuntu con Nginx.