swcc.php-fpm
php-fpm
Ce rôle installe et configure l'interpréteur php-fpm.
Attention
Le support RedHat est abandonné dans la version 2.0.0. Les requêtes de tirage sont les bienvenues.
Exigences
Ce rôle nécessite Ansible 1.4 ou supérieur et les plateformes testées sont listées dans le fichier de métadonnées.
Variables du Rôle
Le rôle utilise les variables suivantes :
- php_fpm_version : La version de PHP qui doit être installée. Disponibles : 5.5, 5.6, 7.0, 7.1. Par défaut : 5.6. Attention : PHP 5.5 peut être utilisé, mais il a atteint sa fin de vie et doit être évité !
- php_fpm_pools : La liste des pools pour php-fpm, chaque pool est un hachage avec une entrée nom (utilisée pour le nom de fichier), toutes les autres entrées dans le hachage sont les directives du pool (voir http://php.net/manual/en/install.fpm.configuration.php). Un niveau de dictionnaires imbriqués est supporté pour permettre de passer des variables d'environnement et des réglages PHP sous forme de dictionnaires.
- php_fpm_pool_defaults : Une liste de directives par défaut utilisées pour tous les pools php-fpm (voir http://php.net/manual/en/install.fpm.configuration.php).
- php_fpm_apt_packages : La liste des paquets à installer par le
apt
module, par défaut [php5-fpm]
.
- php_fpm_yum_packages : La liste des paquets à installer par le
yum
module, par défaut[php-fpm]
. - php_fpm_ini : Personnalisation du php.ini de php-fpm sous forme d'une liste d'options,
chaque option est un hachage utilisant la structure suivante :
- option : Le nom de l'option.
- value : La valeur en chaîne de caractères à associer à l'option.
- section : Nom de la section dans le fichier INI.
- php_fpm_config : Personnalisation du fichier de configuration de php-fpm sous forme d'une liste d'options.
- php_fpm_default_pool :
- delete : Défini à une valeur
True
pour supprimer le pool par défaut. - name : Le nom du fichier de configuration du pool par défaut.
- delete : Défini à une valeur
- php_fpm_apt_latest : Si défini à
yes
, mettra à jour les paquets vers la dernière version.
Exemple de configuration
- 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:
# Directives de section 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"
# Directives de section soap
- option: "soap.wsdl_cache_dir"
section: "soap"
value: "/tmp"
# Directives de section 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"
Exemple d'utilisation
---
# fichier : 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: /
Attention
La configuration du gestionnaire de processus (pm, pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers), dans les valeurs par défaut, est uniquement pour les tests. Ces valeurs doivent toujours être calculées en fonction des ressources serveur utilisées (hardware, nombre de pools, autres logiciels sur le serveur). Veuillez lire la documentation pour plus d'informations à propos de ces directives ou suivre ce guide pour calculer les meilleures valeurs pour votre cas.
Licence
BSD
Informations sur l'Auteur
- Sergey Fayngold sergey@faynhost.com
- Pierre Buyle buyle@floedesign.ca
ansible-galaxy install swcc.php-fpm