jobscore.passenger_nginx

Passenger NGINX

CI

Rola Ansible do instalacji Passenger i NGINX dla aplikacji Ruby

Wymagania

Ta rola wymaga, aby Ruby było już zainstalowane na docelowej maszynie. Ścieżka do binarnego pliku ruby może być skonfigurowana za pomocą zmiennej passenger_ruby.

Zmienne roli

Konfiguracja Passenger

passenger_app_root: /mnt/app/public

Ścieżka do folderu publicznego Twojej aplikacji Rails.

passenger_app_env: production

RAILS_ENV, w którym Passenger uruchomi Twoją aplikację Rails.

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

Ścieżka do pliku konfiguracyjnego Passenger; ten plik nie jest zarządzany przez tę rolę, dlatego należy zmienić go tylko w przypadku ręcznego skonfigurowania Passenger gdzie indziej.

passenger_ruby: /usr/local/bin/ruby

Ścieżka do Twojego binarnego pliku Ruby.

passenger_extra_config: ''

W tej zmiennej możesz dodać/konfigurować zachowanie Passenger dla swoich aplikacji (używane w mod-http-passenger.conf.j2), więcej informacji na temat parametrów passenger dla NGINX można znaleźć tutaj.

Konfiguracja NGINX

nginx_server_name: www.example.com

Nazwa serwera, której NGINX będzie używać do nasłuchiwania żądań HTTP.

nginx_user: "www-data"

Użytkownik, który NGINX będzie używać do uruchomienia serwera.

nginx_extra_config: ''

Dodatkowe parametry konfiguracyjne, które możesz dodać do szablonu nginx.conf na poziomie głównym.

nginx_events_extra_config: ''

Dodatkowe parametry konfiguracyjne, które możesz dodać do szablonu nginx.conf w sekcji events.

nginx_http_extra_config: ''

Dodatkowe parametry konfiguracyjne, które możesz dodać do szablonu nginx.conf w sekcji 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 }};
  }

Konfiguracja NGINX dla aplikacji Passenger. Domyślna konfiguracja działa dla wszystkich aplikacji; jeśli chcesz dodać/zmienić zachowanie, możesz edytować tę zmienną. Możesz tutaj używać zmiennych tak, jak w szablonie Jinja.

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

Te wartości służą do konfiguracji odpowiednich wartości w szablonie nginx.conf.

Przykłady Playbooków

- hosts: serwery
  roles:
    - role: jobscore.ruby
    - role: jobscore.passenger_nginx
- hosts: serwery
  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 }};

Licencja

MIT

Informacje o autorze

Ta rola została stworzona przez Erica Magalhãesa i Glaubera Batistę podczas pracy dla JobScore Inc.

O projekcie

Ansible Role for installing Passenger and NGINX for Ruby apps

Zainstaluj
ansible-galaxy install jobscore.passenger_nginx
Licencja
mit
Pobrania
6k
Właściciel