jobscore.passenger_nginx
Passenger NGINX
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
Informacje o autorze
Ta rola została stworzona przez Erica Magalhãesa i Glaubera Batistę podczas pracy dla JobScore Inc.
ansible-galaxy install jobscore.passenger_nginx