swcc.php-fpm

Build Status Ansible Galaxy

php-fpm

Diese Rolle installiert und konfiguriert den php-fpm Interpreter.

Achtung

Der Support für RedHat wurde in Version 2.0.0 eingestellt. Pull-Requests sind willkommen.

Anforderungen

Diese Rolle benötigt Ansible 1.4 oder höher, und die getesteten Plattformen sind in der Metadaten-Datei aufgeführt.

Rollenvariablen

Die Rolle verwendet die folgenden Variablen:

  • php_fpm_version: PHP-Version, die installiert werden soll. Verfügbar: 5.5, 5.6, 7.0, 7.1. Standard: 5.6. Achtung: PHP 5.5 kann verwendet werden, hat jedoch das Ende seiner Lebensdauer erreicht und sollte vermieden werden!
  • php_fpm_pools: Die Liste der Pools für php-fpm, jeder Pool ist ein Hash mit einem Namenseintrag (verwendet für Dateinamen), alle anderen Einträge im Hash sind Pool-Direktiven (siehe http://php.net/manual/en/install.fpm.configuration.php). Es wird eine Verschachtelung von ein Ebenen-Wörterbüchern unterstützt, um Umgebungsvariablen und PHP-Einstellungen als Wörterbücher zu übergeben.
  • php_fpm_pool_defaults: Eine Liste von Standarddirektiven, die für alle php-fpm-Pools verwendet werden (siehe http://php.net/manual/en/install.fpm.configuration.php).
  • php_fpm_apt_packages: Die Liste der Pakete, die mit dem apt Modul installiert werden sollen, standardmäßig [php5-fpm].
  • php_fpm_yum_packages: Die Liste der Pakete, die mit dem yum Modul installiert werden sollen, standardmäßig [php-fpm].
  • php_fpm_ini: Anpassungen für die php.ini von php-fpm als Liste von Optionen, jede Option ist ein Hash, der die folgende Struktur verwendet:
    • option: Der Name der Option.
    • value: Der Stringwert, der mit der Option verknüpft werden soll.
    • section: Der Abschnittsname in der INI-Datei.
  • php_fpm_config: Anpassungen für die Konfigurationsdatei von php-fpm als Liste von Optionen.
  • php_fpm_default_pool:
    • delete: Auf True setzen, um den Standardpool zu löschen.
    • name: Der Dateiname der Konfigurationsdatei des Standardpools.
  • php_fpm_apt_latest: Wird auf ja gesetzt, um die Pakete auf die neueste Version zu aktualisieren.

Beispielkonfiguration

- 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 Abschnitts-Direktiven
   - 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 Abschnitts-Direktiven
   - option: "soap.wsdl_cache_dir"
     section: "soap"
     value: "/tmp"
   # Pdo_mysql Abschnitts-Direktiven
   - 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"

Beispielverwendung

---
# Datei: 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: /

Achtung

Die Konfiguration des Prozessmanagers (pm, pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers), in den Voreinstellungen, dient nur zu Testzwecken. Diese Werte sollten immer basierend auf den verwendeten Serverressourcen (Hardware, Anzahl der Pools, andere Software auf dem Server) berechnet werden. Bitte lesen Sie die Dokumentation für weitere Informationen über diese Direktiven oder folgen Sie diesem Leitfaden um die besten Werte für Ihren Fall zu berechnen.

Lizenz

BSD

Autoreninformation

Über das Projekt

Ansible role for installing and configuring php-fpm

Installieren
ansible-galaxy install swcc.php-fpm
GitHub Repository
Lizenz
Unknown
Downloads
79
Besitzer