jobscore.passenger_nginx
Passenger NGINX
Rol de Ansible para instalar Passenger y NGINX para aplicaciones Ruby
Requisitos
Este rol espera que Ruby ya esté instalado en la máquina objetivo. El camino para el binario de Ruby se puede configurar usando la variable passenger_ruby
.
Variables del rol
Configuración de Passenger
passenger_app_root: /mnt/app/public
La ruta de la carpeta pública de tu aplicación Rails.
passenger_app_env: production
El RAILS_ENV en el que Passenger ejecutará tu aplicación Rails.
passenger_root: /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini
La ruta para tu archivo de configuración raíz de Passenger. Este archivo no es gestionado por este rol, por lo que solo debes cambiarlo si has configurado manualmente una configuración de Passenger en otro lugar.
passenger_ruby: /usr/local/bin/ruby
La ruta para tu binario de Ruby.
passenger_extra_config: ''
En esta variable, puedes agregar o personalizar el comportamiento de Passenger para tus aplicaciones (usado en mod-http-passenger.conf.j2). Más información sobre los parámetros de Passenger para NGINX se puede encontrar aquí.
Configuración de NGINX
nginx_server_name: www.example.com
El nombre del servidor que NGINX usará para escuchar solicitudes HTTP.
nginx_user: "www-data"
El usuario que NGINX usará para ejecutar el servidor.
nginx_extra_config: ''
Parámetros de configuración adicionales que podrías querer agregar a la plantilla nginx.conf en el nivel raíz.
nginx_events_extra_config: ''
Parámetros de configuración adicionales que podrías querer agregar a la plantilla nginx.conf en la sección events.
nginx_http_extra_config: ''
Parámetros de configuración adicionales que podrías querer agregar a la plantilla nginx.conf en la sección http.
nginx_vhost_config: |
server {
listen 80 default_server;
server_name {{ nginx_server_name }};
passenger_enabled on;
passenger_app_env {{ passenger_app_env }};
root {{ passenger_app_root }};
}
Configuración de NGINX para la aplicación Passenger. La configuración predeterminada funciona para todas las aplicaciones. Si deseas agregar o personalizar el comportamiento, puedes editar esta variable. Puedes usar variables aquí como si estuvieras usando una plantilla Jinja.
nginx_worker_processes: "auto"
nginx_worker_connections: "768"
nginx_keepalive_timeout: "65"
Estos valores se usan para configurar sus respectivos valores en la plantilla nginx.conf.
Ejemplos de Playbooks
- hosts: servers
roles:
- role: jobscore.ruby
- role: jobscore.passenger_nginx
- hosts: servers
pre_tasks:
- apt:
name: ruby-full
state: present
roles:
- role: jobscore.passenger_nginx
nginx_server_name: www.example.com
passenger_extra_config: |
passenger_max_pool_size 6;
passenger_min_instances 6;
passenger_pre_start {{ nginx_server_name }};
Licencia
Información del autor
Este rol fue creado por Eric Magalhães y Glauber Batista mientras trabajaban para JobScore Inc.
Ansible Role for installing Passenger and NGINX for Ruby apps
ansible-galaxy install jobscore.passenger_nginx