swcc.php-fpm
php-fpm
Diese Rolle installiert und konfiguriert den php-fpm Interpreter.
Achtung
Der Support für RedHat wurde in Version 2.0.0 eingestellt. Pull-Requests sind willkommen.
Anforderungen
Diese Rolle benötigt Ansible 1.4 oder höher, und die getesteten Plattformen sind in der Metadaten-Datei aufgeführt.
Rollenvariablen
Die Rolle verwendet die folgenden Variablen:
- php_fpm_version: PHP-Version, die installiert werden soll. Verfügbar: 5.5, 5.6, 7.0, 7.1. Standard: 5.6. Achtung: PHP 5.5 kann verwendet werden, hat jedoch das Ende seiner Lebensdauer erreicht und sollte vermieden werden!
- php_fpm_pools: Die Liste der Pools für php-fpm, jeder Pool ist ein Hash mit einem Namenseintrag (verwendet für Dateinamen), alle anderen Einträge im Hash sind Pool-Direktiven (siehe http://php.net/manual/en/install.fpm.configuration.php). Es wird eine Verschachtelung von ein Ebenen-Wörterbüchern unterstützt, um Umgebungsvariablen und PHP-Einstellungen als Wörterbücher zu übergeben.
- php_fpm_pool_defaults: Eine Liste von Standarddirektiven, die für alle php-fpm-Pools verwendet werden (siehe http://php.net/manual/en/install.fpm.configuration.php).
- php_fpm_apt_packages: Die Liste der Pakete, die mit dem
apt
Modul installiert werden sollen, standardmäßig[php5-fpm]
. - php_fpm_yum_packages: Die Liste der Pakete, die mit dem
yum
Modul installiert werden sollen, standardmäßig[php-fpm]
. - php_fpm_ini: Anpassungen für die php.ini von php-fpm als Liste von Optionen,
jede Option ist ein Hash, der die folgende Struktur verwendet:
- option: Der Name der Option.
- value: Der Stringwert, der mit der Option verknüpft werden soll.
- section: Der Abschnittsname in der INI-Datei.
- php_fpm_config: Anpassungen für die Konfigurationsdatei von php-fpm als Liste von Optionen.
- php_fpm_default_pool:
- delete: Auf
True
setzen, um den Standardpool zu löschen. - name: Der Dateiname der Konfigurationsdatei des Standardpools.
- delete: Auf
- php_fpm_apt_latest: Wird auf
ja
gesetzt, um die Pakete auf die neueste Version zu aktualisieren.
Beispielkonfiguration
- role: 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:
# PHP Abschnitts-Direktiven
- 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"
# Soap Abschnitts-Direktiven
- option: "soap.wsdl_cache_dir"
section: "soap"
value: "/tmp"
# Pdo_mysql Abschnitts-Direktiven
- 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"
Beispielverwendung
---
# Datei: task.yml
- hosts: all
roles:
- nbz4live.php-fpm
- {
role: nbz4live.php-fpm,
php_fpm_pools:[
{name: foo, user: www-data, group: www-data, listen: 8000, chdir: /}
]
}
- role: php-fpm
php_fpm_pools:
- name: bar
user: www-data
group: www-data
listen: 9000
chdir: /
Achtung
Die Konfiguration des Prozessmanagers (pm, pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers), in den Voreinstellungen, dient nur zu Testzwecken. Diese Werte sollten immer basierend auf den verwendeten Serverressourcen (Hardware, Anzahl der Pools, andere Software auf dem Server) berechnet werden. Bitte lesen Sie die Dokumentation für weitere Informationen über diese Direktiven oder folgen Sie diesem Leitfaden um die besten Werte für Ihren Fall zu berechnen.
Lizenz
BSD
Autoreninformation
- Sergey Fayngold sergey@faynhost.com
- Pierre Buyle buyle@floedesign.ca
ansible-galaxy install swcc.php-fpm