swcc.php-fpm
php-fpm
Este rol instala y configura el intérprete de php-fpm.
Atención
El soporte para RedHat se ha descontinuado en la versión 2.0.0. Se aceptan solicitudes de extracción.
Requisitos
Este rol requiere Ansible 1.4 o superior y las plataformas probadas están listadas en el archivo de metadatos.
Variables del Rol
El rol utiliza las siguientes variables:
- php_fpm_version: Versión de PHP que debe ser instalada. Disponibles: 5.5, 5.6, 7.0, 7.1. Por defecto: 5.6. Atención: PHP 5.5 puede ser utilizado, pero ha llegado al final de su vida útil y debe ser evitado.
- php_fpm_pools: La lista de grupos para php-fpm, cada grupo es un conjunto con una entrada de nombre (usada para el nombre del archivo), todas las otras entradas en el conjunto son directivas del grupo (ver http://php.net/manual/en/install.fpm.configuration.php). Se admite un nivel de anidamiento de diccionarios para permitir pasar variables de entorno y configuraciones de PHP como diccionarios.
- php_fpm_pool_defaults: Una lista de directivas por defecto usadas para todos los grupos de php-fpm (ver http://php.net/manual/en/install.fpm.configuration.php).
- php_fpm_apt_packages: La lista de paquetes que se instalarán mediante el
módulo
apt
, por defecto es[php5-fpm]
. - php_fpm_yum_packages: La lista de paquetes que se instalarán mediante el
módulo
yum
, por defecto es[php-fpm]
. - php_fpm_ini: Personalización para el php.ini de php-fpm como una lista de opciones,
cada opción es un conjunto usando la siguiente estructura:
- option: El nombre de la opción.
- value: El valor de cadena asociado con la opción.
- section: Nombre de la sección en el archivo INI.
- php_fpm_config: Personalización del archivo de configuración de php-fpm como una lista de opciones.
- php_fpm_default_pool:
- delete: Establecer en un valor
True
para eliminar el grupo por defecto. - name: El nombre del archivo de configuración del grupo por defecto.
- delete: Establecer en un valor
- php_fpm_apt_latest: Si se establece en
yes
actualizará los paquetes a la última versión.
Ejemplo de configuración
- 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 www@my.domain.com"
error_log = "/var/log/fpm-bar.www.log"
php_fpm_ini:
# Directivas de sección 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"
# Directivas de sección soap
- option: "soap.wsdl_cache_dir"
section: "soap"
value: "/tmp"
# Directivas de sección 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"
Ejemplo de uso
---
# archivo: 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: /
Atención
La configuración del administrador de procesos (pm, pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers), en los valores por defecto, es solo para pruebas. Estos valores siempre deben ser calculados basados en los recursos del servidor (hardware, número de grupos, otro software en el servidor). Por favor, lea la documentación para más información sobre estas directivas o siga esta guía para calcular los mejores valores para su caso.
Licencia
BSD
Información del Autor
- Sergey Fayngold sergey@faynhost.com
- Pierre Buyle buyle@floedesign.ca
ansible-galaxy install swcc.php-fpm