php-fpm
php-fpm
Эта роль устанавливает и настраивает интерпретатор php-fpm.
Внимание
Поддержка RedHat прекращена в версии 2.0.0. С удовольствием примем ваши запросы на изменения.
Требования
Эта роль требует Ansible 1.4 или выше, протестированные платформы указаны в файле метаданных.
Переменные роли
Роль использует следующие переменные:
- php_fpm_version: Версия PHP, которая должна быть установлена. Доступные версии: 5.5, 5.6, 7.0, 7.1. По умолчанию: 5.6. Внимание: PHP 5.5 можно использовать, но он достиг конца жизни и должен быть избегаем!
- php_fpm_pools: Список пулов для php-fpm, каждый пул представляет собой хэш с записью имени (используется для имени файла), все остальные записи в хэше являются директивами пула (см. http://php.net/manual/en/install.fpm.configuration.php). Поддерживается вложение словарей на один уровень, чтобы передавать переменные окружения и настройки PHP в виде словарей.
- php_fpm_pool_defaults: Список стандартных директив, используемых для всех пулов php-fpm (см. http://php.net/manual/en/install.fpm.configuration.php).
- php_fpm_apt_packages: Список пакетов, которые будут установлены с помощью
apt
, по умолчанию [php5-fpm]
.
- php_fpm_yum_packages: Список пакетов, которые будут установлены с помощью
yum
, по умолчанию[php-fpm]
. - php_fpm_ini: Настройка php.ini для php-fpm в виде списка опций,
каждая опция – это хэш со следующей структурой:
- option: Название опции.
- value: Строковое значение, которое будет связано с опцией.
- section: Название секции в INI-файле.
- php_fpm_config: Настройка конфигурационного файла php-fpm в виде списка опций.
- php_fpm_default_pool:
- delete: Установите значение
True
, чтобы удалить стандартный пул. - name: Имя файла конфигурации стандартного пула.
- delete: Установите значение
- php_fpm_apt_latest: Если установлено в
yes
, обновит пакеты до последней версии.
Пример конфигурации
- 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
- 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
- option: "soap.wsdl_cache_dir"
section: "soap"
value: "/tmp"
# Директивы секции 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"
Пример использования
---
# файл: 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: /
Внимание
Конфигурация менеджера процессов (pm, pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers), в настройках по умолчанию предназначена только для тестирования. Эти значения всегда должны рассчитываться на основе используемых ресурсов сервера (аппаратные средства, количество пулов, другое программное обеспечение на сервере). Пожалуйста, прочтите документацию для получения дополнительной информации об этих директивах или следуйте этому руководству для расчета наилучших значений для вашего случая.
Лицензия
BSD
Информация об авторе
- Сергей Файнгольд sergey@faynhost.com
- Пьер Буйль buyle@floedesign.ca
ansible-galaxy install swcc/ansible-php-fpm