swcc.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-fpm 的 php.ini 定制选项列表,每个选项是一个哈希,使用以下结构:
- 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 Fayngold sergey@faynhost.com
- Pierre Buyle buyle@floedesign.ca