cloudweeb.php

Ansible角色PHP

构建状态

安装PHP的Ansible角色,灵感来自于 geerlingguy.php 角色

要求

角色变量

php_version: 7.2              # 设置要安装的PHP版本,默认未设置
php_web_server_enabled: true  # 当您在服务器上安装了Web服务器时设置为true
php_fpm_enabled: false        # 当您想启用PHP-FPM时设置为true

php_remi_repo_enabled: true   # 仅在RHEL操作系统上启用REMI库
php_sury_repo_enabled: true   # 仅在Debian操作系统上启用Sury库

php_extra_packages: []        # 您想要安装的额外PHP软件包列表

#php.ini配置列表
php_ini_disable_functions: []
php_ini_expose_php: 'Off'
php_ini_max_execution_time: '30'
php_ini_max_input_time: '60'
php_ini_max_input_vars: '2500'
php_ini_memory_limit: '128M'
php_ini_date_timezone: Asia/Jakarta

# PHP FPM配置列表
php_fpm_listen: '127.0.0.1:9000'
php_fpm_pm: dynamic                   # PHP FPM进程管理器(dynamic, static, ondemand)
php_fpm_pm_max_children: '50'         # 可以创建的最大子进程数量
php_fpm_pm_start_servers: '5'
php_fpm_pm_min_spare_servers: '5'
php_fpm_pm_max_spare_servers: '20'
php_fpm_pm_max_requests: '4000'       # 每个子进程在重生前应执行的请求数量
php_fpm_pm_process_idle_timeout: 10s  # 空闲进程在被杀死前的秒数

php_fpm_pools:                # 将要设置的php-fpm池列表
    # php-fpm池名称
  - name: www
    # php-fpm池配置文件名称
    filename: www.conf
    # php-fpm池监听地址
    listen: /var/run/php-fpm/php-fpm.sock
    # php-fpm池允许连接的IP
    listen_allowed_clients: '127.0.0.1'
    # 额外的php-fpm池环境变量
    env_vars: |
      env[HOSTNAME] = $HOSTNAME
      env[PATH] = /usr/local/bin:/usr/bin:/bin
      env[TMP] = /tmp
      env[TMPDIR] = /tmp
      env[TEMP] = /tmp
    # 额外的php-fpm池PHP配置
    extra_php_ini: |
      php_admin_value[error_log] = /var/log/php-fpm/www-error.log
      php_admin_flag[log_errors] = on
      php_admin_value[memory_limit] = 128M

php_web_server_daemon: httpd  # web服务器服务的名称(httpd、apache2或nginx)
php_fpm_daemon: php-fpm       # php-fpm服务的名称(php-fpm、php7.2-fpm、php5.6-fpm等)

php_base_packages:            # 将要安装的php基础软件包
  - php
  - php-cli
  - php-common
  - php-fpm

php_conf_file:                # php.ini文件位置
  - /etc/php.ini

php_fpm_user: apache          # 默认php-fpm用户
php_fpm_group: apache         # 默认php-fpm组

php_fpm_listen_owner: nobody  # 默认php-fpm监听所有者
php_fpm_listen_group: nobody  # 默认php-fpm监听组

php_fpm_pool_conf_path: /etc/php-fpm.d  # php-fpm配置目录

依赖

示例剧本

- hosts: servers
  vars:
    php_web_server_enabled: false
    php_fpm_enabled: true

    php_fpm_pools:
      - name: www
        filename: www.conf
        listen: /var/run/php-fpm/php-fpm.sock
        listen_allowed_clients: '127.0.0.1'
        env_vars: |
          env[HOSTNAME] = $HOSTNAME
          env[PATH] = /usr/local/bin:/usr/bin:/bin
          env[TMP] = /tmp
          env[TMPDIR] = /tmp
          env[TEMP] = /tmp

  roles:
    - role: cloudweeb.php

许可证

BSD/MIT

作者信息

Agnesius Santo Naibaho

关于项目

Install PHP on Linux server

安装
ansible-galaxy install cloudweeb.php
许可证
mit
下载
341
拥有者