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参照)。1レベルの辞書のネストがサポートされており、環境 変数や 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"

使用例

---
# file: 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
所有者