From 7572c99edc9648b12f3a5a6015e7cb61b0b67e57 Mon Sep 17 00:00:00 2001 From: Thomas Constans Date: Mon, 18 Oct 2021 21:27:58 +0200 Subject: [PATCH] role is functionnal, we can create more pools --- README.md | 41 +++++++++++++++++++++++++++------------ defaults/main.yml | 5 +++-- handlers/main.yml | 2 +- tasks/php-fpm.yml | 22 ++++++++++++++------- templates/php-fpm.conf.tt | 3 --- templates/www.conf | 2 +- 6 files changed, 49 insertions(+), 26 deletions(-) delete mode 100644 templates/php-fpm.conf.tt diff --git a/README.md b/README.md index 38a2e52..6fff9fd 100644 --- a/README.md +++ b/README.md @@ -13,8 +13,8 @@ None Role Variables -------------- - -php_version: default 73 +php_poolname: default www (version will be appended) +php_version: default 74 php_fpm_pool_user: default apache php_fpm_pool_group: default apache php_fpm_listen_url: default 127.0.0.1:90{{ php_version }} @@ -35,17 +35,34 @@ Example Playbook Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too: - - hosts: servers - vars: - httpd_server_name: foobar.fr - php_version: 73 - php_packages: - - php73-php-imap - - php73-php-pear - roles: - - apache - - php-fpm + roles: + - role: tconstans.php-fpm + vars: + php_poolname: pool1 + php_listen_url: "/srv/pool1/php-fpm.sock" + php_version: 74 + php_packages: + - php{{ php_version }}-php-mbstring + - php{{ php_version }}-php-mysqlnd + - php{{ php_version }}-php-pdo + - php{{ php_version }}-php-xml + - php{{ php_version }}-php-gd + - php{{ php_version }}-php-posix + - php{{ php_version }}-php-ldap + - php{{ php_version }}-php-curl + - php{{ php_version }}-php-iconv + - php{{ php_version }}-php-openssl + - php{{ php_version }}-php-zip + - php{{ php_version }}-php-zlib + - php{{ php_version }}-php-ctype + - role: tconstans.php-fpm + vars: + php_poolname: pool2 + php_listen_url: "/srv/pool2/php-fpm.sock" + php_version: 80 + php_packages: + - php{{ php_version }}-php-zip License ------- diff --git a/defaults/main.yml b/defaults/main.yml index 0825527..1c0471d 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -1,11 +1,12 @@ --- # defaults file for php-fpm -php_version: 73 +php_poolname: www +php_version: 74 php_fpm_pool_user: apache php_fpm_pool_group: apache php_fpm_listen_url: 127.0.0.1:90{{ php_version }} php_pm: static -php_pm_max_children: 1000 +php_pm_max_children: 100 php_pm_max_requests: 10000 php_pm_status_url: /phpstatus php_packages: [ 'php{{ php_version }}-php-common' ] diff --git a/handlers/main.yml b/handlers/main.yml index 96b2ba1..1f854df 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -2,5 +2,5 @@ # handlers file for php-fpm - name: restart php-fpm service: - name: php-fpm + name: php{{ php_version }}-php-fpm state: restarted \ No newline at end of file diff --git a/tasks/php-fpm.yml b/tasks/php-fpm.yml index b05be3d..1dbe25e 100644 --- a/tasks/php-fpm.yml +++ b/tasks/php-fpm.yml @@ -15,6 +15,14 @@ option: enabled value: 1 +- name: create socket directory if needed + file: + path: "{{ php_listen_url|dirname }}" + state: directory + owner: "{{ php_fpm_pool_user }}" + when: php_listen_url[0] == '/' + + - name: install php-fpm yum: name: @@ -26,18 +34,18 @@ name: "{{ php_packages }}" state: present +- name: disable default pool + copy: + content: "" + dest: "/etc/opt/remi/php{{ php_version }}/php-fpm.d/www.conf" + notify: restart php-fpm + - name: configure php-fpm pool 2 template: src: www.conf - dest: /etc/opt/remi/php{{ php_version }}/php-fpm.d/www_{{ php_version }}.conf + dest: /etc/opt/remi/php{{ php_version }}/php-fpm.d/{{ php_poolname }}_{{ php_version }}.conf notify: restart php-fpm -- name: create log symlink - file: - src: /var/opt/remi/php{{ php_version }}/log/php-fpm - dest: /var/log/php-fpm - state: link - - name: start and enable service service: name: php{{php_version}}-php-fpm diff --git a/templates/php-fpm.conf.tt b/templates/php-fpm.conf.tt deleted file mode 100644 index 85dfb6e..0000000 --- a/templates/php-fpm.conf.tt +++ /dev/null @@ -1,3 +0,0 @@ - - SetHandler proxy:fcgi://{{ php_fpm_listen_url }} - diff --git a/templates/www.conf b/templates/www.conf index e30aa18..b08b4e2 100644 --- a/templates/www.conf +++ b/templates/www.conf @@ -1,4 +1,4 @@ -[www{{php_version}}] +[{{ php_poolname}}_{{ php_version }}] user = {{ php_fpm_pool_user }} group = {{ php_fpm_pool_group }} listen = {{ php_fpm_listen_url }}