jobscore.passenger_nginx

Passenger NGINX

CI

Rôle Ansible pour installer Passenger et NGINX pour les applications Ruby

Exigences

Ce rôle suppose que Ruby est déjà installé sur la machine cible. Le chemin du binaire Ruby peut être configuré en utilisant la variable passenger_ruby.

Variables du Rôle

Configuration de Passenger

passenger_app_root: /mnt/app/public

Le chemin du dossier public de votre application Rails.

passenger_app_env: production

L'environnement RAILS_ENV dans lequel Passenger exécutera votre application Rails.

passenger_root: /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini

Le chemin du fichier de configuration racine de Passenger. Ce fichier n'est pas géré par ce rôle, donc vous devriez seulement le changer si vous avez configuré manuellement Passenger ailleurs.

passenger_ruby: /usr/local/bin/ruby

Le chemin de votre binaire Ruby.

passenger_extra_config: ''

Dans cette variable, vous pouvez ajouter ou personnaliser le comportement de Passenger pour vos applications (utilisé dans mod-http-passenger.conf.j2). Plus d'informations sur les paramètres de Passenger pour NGINX peuvent être trouvées ici.

Configuration de NGINX

nginx_server_name: www.example.com

Le nom du serveur que NGINX utilisera pour écouter les requêtes HTTP.

nginx_user: "www-data"

L'utilisateur que NGINX utilisera pour exécuter le serveur.

nginx_extra_config: ''

Paramètres de configuration supplémentaires que vous pourriez vouloir ajouter au modèle nginx.conf à la racine.

nginx_events_extra_config: ''

Paramètres de configuration supplémentaires que vous pourriez vouloir ajouter au modèle nginx.conf sous la section events.

nginx_http_extra_config: ''

Paramètres de configuration supplémentaires que vous pourriez vouloir ajouter au modèle nginx.conf sous la section 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 }};
  }

Configuration de NGINX pour l'application Passenger. La configuration par défaut fonctionne pour toutes les applications. Si vous souhaitez ajouter ou personnaliser le comportement, vous pouvez modifier cette variable. Vous pouvez utiliser des variables ici comme dans un modèle Jinja.

nginx_worker_processes: "auto"
nginx_worker_connections: "768"
nginx_keepalive_timeout: "65"

Ces valeurs sont utilisées pour configurer leurs valeurs respectives dans le modèle nginx.conf.

Exemples 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 }};

Licence

MIT

Informations sur l'Auteur

Ce rôle a été créé par Eric Magalhães et Glauber Batista pendant leur travail pour JobScore Inc.

À propos du projet

Ansible Role for installing Passenger and NGINX for Ruby apps

Installer
ansible-galaxy install jobscore.passenger_nginx
Licence
mit
Téléchargements
6k
Propriétaire