jobscore.passenger_nginx

Passenger NGINX

CI

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

MIT

Información del autor

Este rol fue creado por Eric Magalhães y Glauber Batista mientras trabajaban para JobScore Inc.

Acerca del proyecto

Ansible Role for installing Passenger and NGINX for Ruby apps

Instalar
ansible-galaxy install jobscore.passenger_nginx
Licencia
mit
Descargas
6k
Propietario