swcc.php-fpm
php-fpm
Ta rola instaluje i konfiguruje interpreter php-fpm.
Uwaga
Wsparcie dla RedHat zostało zakończone w wersji 2.0.0. Zachęcamy do składania propozycji zmian.
Wymagania
Ta rola wymaga Ansible w wersji 1.4 lub wyższej, a przetestowane platformy są wymienione w pliku metadanych.
Zmienne roli
Rola używa następujących zmiennych:
- php_fpm_version: wersja PHP, która ma być zainstalowana. Dostępne: 5.5, 5.6, 7.0, 7.1. Domyślne: 5.6. Uwaga: PHP 5.5 można używać, ale osiągnął koniec wsparcia i powinno się go unikać!
- php_fpm_pools: lista pul dla php-fpm, każda pula to hash z wpisem nazwy (używany do nazwy pliku), wszystkie inne wpisy w hashu to dyrektywy puli (patrz http://php.net/manual/en/install.fpm.configuration.php). Wspierane jest zagnieżdżenie jednego poziomu słowników, aby umożliwić przekazywanie zmiennych środowiskowych i ustawień PHP jako słowników.
- php_fpm_pool_defaults: lista domyślnych dyrektyw używanych dla wszystkich pul php-fpm (patrz http://php.net/manual/en/install.fpm.configuration.php).
- php_fpm_apt_packages: lista pakietów do zainstalowania przez moduł
apt
, domyślnie [php5-fpm]
.
- php_fpm_yum_packages: lista pakietów do zainstalowania przez moduł
yum
, domyślnie[php-fpm]
. - php_fpm_ini: Dostosowanie do php.ini php-fpm jako lista opcji,
każda opcja to hash używający następującej struktury:
- option: nazwa opcji.
- value: wartość stringowa powiązana z opcją.
- section: nazwa sekcji w pliku INI.
- php_fpm_config: Dostosowanie do pliku konfiguracyjnego php-fpm jako lista opcji.
- php_fpm_default_pool:
- delete: Ustaw na wartość
True
, aby usunąć domyślną pulę. - name: Nazwa pliku domyślnego pliku konfiguracyjnego puli.
- delete: Ustaw na wartość
- php_fpm_apt_latest: Jeśli ustawione na
yes
, zaktualizuje pakiety do najnowszej wersji.
Przykład konfiguracji
- rola: php-fpm
php_fpm_pool_defaults:
pm: dynamic
pm.max_children: 5
pm.start_servers: 2
pm.min_spare_servers: 1
pm.max_spare_servers: 3
php_fpm_pools:
- name: foo
user: www-data
group: www-data
listen: 8000
chdir: /
- name: bar
user: www-data
group: www-data
listen: 8001
env:
PATH: "/usr/local/bin:/usr/bin:/bin"
TMPDIR: "/tmp"
php_admin_value:
sendmail_path: "/usr/sbin/sendmail -t -i -f [email protected]"
error_log = "/var/log/fpm-bar.www.log"
php_fpm_ini:
# Dyrektywy sekcji PHP
- option: "engine"
section: "PHP"
value: "1"
- option: "error_reporting"
section: "PHP"
value: "E_ALL & ~E_DEPRECATED & ~E_STRICT"
- option: "date.timezone"
section: "PHP"
value: "Europe/Berlin"
# Dyrektywy sekcji soap
- option: "soap.wsdl_cache_dir"
section: "soap"
value: "/tmp"
# Dyrektywy sekcji Pdo_mysql
- option: "pdo_mysql.cache_size"
section: "Pdo_mysql"
value: "2000"
php_fpm_config:
- option: "log_level"
section: "global"
value: "notice"
- option: "syslog.facility"
section: "global"
value: "daemon"
Przykład użycia
---
# plik: task.yml
- hosts: all
roles:
- nbz4live.php-fpm
- {
rola: nbz4live.php-fpm,
php_fpm_pools:[
{name: foo, user: www-data, group: www-data, listen: 8000, chdir: /}
]
}
- rola: php-fpm
php_fpm_pools:
- name: bar
user: www-data
group: www-data
listen: 9000
chdir: /
Uwaga
Konfiguracja menedżera procesów (pm, pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers), w domyślnych ustawieniach, jest tylko do testowania. Wartości te należy zawsze obliczać w oparciu o wykorzystanie zasobów serwera (hardware, liczba pul, inne oprogramowanie na serwerze). Proszę przeczytać dokumentację dla więcej informacji na temat tych dyrektyw lub postępować zgodnie z tym przewodnikiem aby obliczyć najlepsze wartości dla Twojego przypadku.
Licencja
BSD
Informacje o autorze
- Sergey Fayngold sergey@faynhost.com
- Pierre Buyle buyle@floedesign.ca
ansible-galaxy install swcc.php-fpm