jobscore.passenger_nginx

Passenger NGINX

CI

Ansible-Rolle zur Installation von Passenger und NGINX für Ruby-Apps

Anforderungen

Diese Rolle setzt voraus, dass Ruby bereits auf der Zielmaschine installiert ist. Der Pfad zur Ruby-Binärdatei kann mit der Variablen passenger_ruby konfiguriert werden.

Rollenvariablen

Passenger-Konfiguration

passenger_app_root: /mnt/app/public

Der Pfad zum öffentlichen Ordner Ihrer Rails-App.

passenger_app_env: production

Die RAILS_ENV, unter der Passenger Ihre Rails-App ausführen wird.

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

Der Pfad zur Konfigurationsdatei von Passenger. Diese Datei wird nicht von dieser Rolle verwaltet. Änderungen sollten nur vorgenommen werden, wenn Sie eine manuelle Passenger-Konfiguration an anderer Stelle vorgenommen haben.

passenger_ruby: /usr/local/bin/ruby

Der Pfad zu Ihrer Ruby-Binärdatei.

passenger_extra_config: ''

In dieser Variable können Sie das Verhalten von Passenger für Ihre Apps anpassen (verwendet in mod-http-passenger.conf.j2). Weitere Informationen zu den Passenger-Parametern für NGINX finden Sie hier.

NGINX-Konfiguration

nginx_server_name: www.example.com

Der Servername, den NGINX für HTTP-Anfragen verwenden wird.

nginx_user: "www-data"

Der Benutzer, den NGINX zum Ausführen des Servers verwenden wird.

nginx_extra_config: ''

Zusätzliche Konfigurationsparameter, die Sie der nginx.conf Vorlage auf der obersten Ebene hinzufügen möchten.

nginx_events_extra_config: ''

Zusätzliche Konfigurationsparameter, die Sie der nginx.conf Vorlage im Abschnitt events hinzufügen möchten.

nginx_http_extra_config: ''

Zusätzliche Konfigurationsparameter, die Sie der nginx.conf Vorlage im Abschnitt http hinzufügen möchten.

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

NGINX-Konfiguration für die Passenger-App. Die Standardkonfiguration funktioniert für alle Apps. Wenn Sie das Verhalten anpassen möchten, können Sie diese Variable bearbeiten. Sie können hier Variablen so verwenden, wie Sie es in einer Jinja-Vorlage tun würden.

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

Diese Werte werden verwendet, um die jeweiligen Werte in der nginx.conf Vorlage zu konfigurieren.

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

Lizenz

MIT

Autoreninformation

Diese Rolle wurde von Eric Magalhães und Glauber Batista während ihrer Arbeit für JobScore Inc erstellt.

Über das Projekt

Ansible Role for installing Passenger and NGINX for Ruby apps

Installieren
ansible-galaxy install jobscore.passenger_nginx
GitHub Repository
Lizenz
mit
Downloads
6k
Besitzer