swcc.php-fpm

构建状态 Ansible Galaxy

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:默认池配置文件的文件名。
  • 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

作者信息

关于项目

Ansible role for installing and configuring php-fpm

安装
ansible-galaxy install swcc.php-fpm
许可证
Unknown
下载
79
拥有者