mirror of
https://github.com/valitydev/salt-common.git
synced 2024-11-06 10:25:23 +00:00
php-fpm states adapted for systemd
This commit is contained in:
parent
1452c55ba4
commit
b828b788c1
@ -1,232 +0,0 @@
|
|||||||
; Start a new pool named 'www'.
|
|
||||||
; the variable $pool can we used in any directive and will be replaced by the
|
|
||||||
; pool name ('www' here)
|
|
||||||
[www]
|
|
||||||
|
|
||||||
; Per pool prefix
|
|
||||||
; It only applies on the following directives:
|
|
||||||
; - 'slowlog'
|
|
||||||
; - 'listen' (unixsocket)
|
|
||||||
; - 'chroot'
|
|
||||||
; - 'chdir'
|
|
||||||
; - 'php_values'
|
|
||||||
; - 'php_admin_values'
|
|
||||||
; When not set, the global prefix (or /usr/lib/php5.3) applies instead.
|
|
||||||
; Note: This directive can also be relative to the global prefix.
|
|
||||||
; Default Value: none
|
|
||||||
; prefix = /path/to/pools/$pool
|
|
||||||
|
|
||||||
; The address on which to accept FastCGI requests.
|
|
||||||
; Valid syntaxes are:
|
|
||||||
; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific address on
|
|
||||||
; a specific port;
|
|
||||||
; 'port' - to listen on a TCP socket to all addresses on a
|
|
||||||
; specific port;
|
|
||||||
; '/path/to/unix/socket' - to listen on a unix socket.
|
|
||||||
; Note: This value is mandatory.
|
|
||||||
listen = /run/php-fpm/$pool.sock
|
|
||||||
|
|
||||||
; Set listen(2) backlog. A value of '-1' means unlimited.
|
|
||||||
; Default Value: 128 (-1 on FreeBSD and OpenBSD)
|
|
||||||
listen.backlog = -1
|
|
||||||
|
|
||||||
; Set permissions for unix socket, if one is used. In Linux, read/write
|
|
||||||
; permissions must be set in order to allow connections from a web server. Many
|
|
||||||
; BSD-derived systems allow connections regardless of permissions.
|
|
||||||
; Default Values: user and group are set as the running user
|
|
||||||
; mode is set to 0666
|
|
||||||
listen.owner = nginx
|
|
||||||
listen.group = nginx
|
|
||||||
listen.mode = 0660
|
|
||||||
|
|
||||||
; Unix user/group of processes
|
|
||||||
; Note: The user is mandatory. If the group is not set, the default user's group
|
|
||||||
; will be used.
|
|
||||||
user = nginx
|
|
||||||
group = nginx
|
|
||||||
|
|
||||||
; Choose how the process manager will control the number of child processes.
|
|
||||||
; Possible Values:
|
|
||||||
; static - a fixed number (pm.max_children) of child processes;
|
|
||||||
; dynamic - the number of child processes are set dynamically based on the
|
|
||||||
; following directives:
|
|
||||||
; pm.max_children - the maximum number of children that can
|
|
||||||
; be alive at the same time.
|
|
||||||
; pm.start_servers - the number of children created on startup.
|
|
||||||
; pm.min_spare_servers - the minimum number of children in 'idle'
|
|
||||||
; state (waiting to process). If the number
|
|
||||||
; of 'idle' processes is less than this
|
|
||||||
; number then some children will be created.
|
|
||||||
; pm.max_spare_servers - the maximum number of children in 'idle'
|
|
||||||
; state (waiting to process). If the number
|
|
||||||
; of 'idle' processes is greater than this
|
|
||||||
; number then some children will be killed.
|
|
||||||
; Note: This value is mandatory.
|
|
||||||
pm = dynamic
|
|
||||||
|
|
||||||
; The number of child processes to be created when pm is set to 'static' and the
|
|
||||||
; maximum number of child processes to be created when pm is set to 'dynamic'.
|
|
||||||
; This value sets the limit on the number of simultaneous requests that will be
|
|
||||||
; served. Equivalent to the ApacheMaxClients directive with mpm_prefork.
|
|
||||||
; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP
|
|
||||||
; CGI.
|
|
||||||
; Note: Used when pm is set to either 'static' or 'dynamic'
|
|
||||||
; Note: This value is mandatory.
|
|
||||||
pm.max_children = 4
|
|
||||||
|
|
||||||
; The number of child processes created on startup.
|
|
||||||
; Note: Used only when pm is set to 'dynamic'
|
|
||||||
; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2
|
|
||||||
pm.start_servers = 1
|
|
||||||
|
|
||||||
; The desired minimum number of idle server processes.
|
|
||||||
; Note: Used only when pm is set to 'dynamic'
|
|
||||||
; Note: Mandatory when pm is set to 'dynamic'
|
|
||||||
pm.min_spare_servers = 1
|
|
||||||
|
|
||||||
; The desired maximum number of idle server processes.
|
|
||||||
; Note: Used only when pm is set to 'dynamic'
|
|
||||||
; Note: Mandatory when pm is set to 'dynamic'
|
|
||||||
pm.max_spare_servers = 2
|
|
||||||
|
|
||||||
; The number of requests each child process should execute before respawning.
|
|
||||||
; This can be useful to work around memory leaks in 3rd party libraries. For
|
|
||||||
; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS.
|
|
||||||
; Default Value: 0
|
|
||||||
pm.max_requests = 0
|
|
||||||
|
|
||||||
; The URI to view the FPM status page. If this value is not set, no URI will be
|
|
||||||
; recognized as a status page. By default, the status page shows the following
|
|
||||||
; information:
|
|
||||||
; accepted conn - the number of request accepted by the pool;
|
|
||||||
; pool - the name of the pool;
|
|
||||||
; process manager - static or dynamic;
|
|
||||||
; idle processes - the number of idle processes;
|
|
||||||
; active processes - the number of active processes;
|
|
||||||
; total processes - the number of idle + active processes.
|
|
||||||
; max children reached - number of times, the process limit has been reached,
|
|
||||||
; when pm tries to start more children (works only for
|
|
||||||
; pm 'dynamic')
|
|
||||||
; The values of 'idle processes', 'active processes' and 'total processes' are
|
|
||||||
; updated each second. The value of 'accepted conn' is updated in real time.
|
|
||||||
; Example output:
|
|
||||||
; accepted conn: 12073
|
|
||||||
; pool: www
|
|
||||||
; process manager: static
|
|
||||||
; idle processes: 35
|
|
||||||
; active processes: 65
|
|
||||||
; total processes: 100
|
|
||||||
; max children reached: 1
|
|
||||||
; By default the status page output is formatted as text/plain. Passing either
|
|
||||||
; 'html' or 'json' as a query string will return the corresponding output
|
|
||||||
; syntax. Example:
|
|
||||||
; http://www.foo.bar/status
|
|
||||||
; http://www.foo.bar/status?json
|
|
||||||
; http://www.foo.bar/status?html
|
|
||||||
; Note: The value must start with a leading slash (/). The value can be
|
|
||||||
; anything, but it may not be a good idea to use the .php extension or it
|
|
||||||
; may conflict with a real PHP file.
|
|
||||||
; Default Value: not set
|
|
||||||
;pm.status_path = /status
|
|
||||||
|
|
||||||
; The ping URI to call the monitoring page of FPM. If this value is not set, no
|
|
||||||
; URI will be recognized as a ping page. This could be used to test from outside
|
|
||||||
; that FPM is alive and responding, or to
|
|
||||||
; - create a graph of FPM availability (rrd or such);
|
|
||||||
; - remove a server from a group if it is not responding (load balancing);
|
|
||||||
; - trigger alerts for the operating team (24/7).
|
|
||||||
; Note: The value must start with a leading slash (/). The value can be
|
|
||||||
; anything, but it may not be a good idea to use the .php extension or it
|
|
||||||
; may conflict with a real PHP file.
|
|
||||||
; Default Value: not set
|
|
||||||
ping.path = /ping
|
|
||||||
|
|
||||||
; This directive may be used to customize the response of a ping request. The
|
|
||||||
; response is formatted as text/plain with a 200 response code.
|
|
||||||
; Default Value: pong
|
|
||||||
ping.response = pong
|
|
||||||
|
|
||||||
; The timeout for serving a single request after which the worker process will
|
|
||||||
; be killed. This option should be used when the 'max_execution_time' ini option
|
|
||||||
; does not stop script execution for some reason. A value of '0' means 'off'.
|
|
||||||
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
|
|
||||||
; Default Value: 0
|
|
||||||
;request_terminate_timeout = 0
|
|
||||||
|
|
||||||
; The timeout for serving a single request after which a PHP backtrace will be
|
|
||||||
; dumped to the 'slowlog' file. A value of '0s' means 'off'.
|
|
||||||
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
|
|
||||||
; Default Value: 0
|
|
||||||
;request_slowlog_timeout = 0
|
|
||||||
|
|
||||||
; The log file for slow requests
|
|
||||||
; Default Value: not set
|
|
||||||
; Note: slowlog is mandatory if request_slowlog_timeout is set
|
|
||||||
;slowlog = /var/log/php-fpm-$pool.log.slow
|
|
||||||
|
|
||||||
; Set open file descriptor rlimit.
|
|
||||||
; Default Value: system defined value
|
|
||||||
;rlimit_files = 1024
|
|
||||||
|
|
||||||
; Set max core size rlimit.
|
|
||||||
; Possible Values: 'unlimited' or an integer greater or equal to 0
|
|
||||||
; Default Value: system defined value
|
|
||||||
;rlimit_core = 0
|
|
||||||
|
|
||||||
; Chroot to this directory at the start. This value must be defined as an
|
|
||||||
; absolute path. When this value is not set, chroot is not used.
|
|
||||||
; Note: you can prefix with '$prefix' to chroot to the pool prefix or one
|
|
||||||
; of its subdirectories. If the pool prefix is not set, the global prefix
|
|
||||||
; will be used instead.
|
|
||||||
; Note: chrooting is a great security feature and should be used whenever
|
|
||||||
; possible. However, all PHP paths will be relative to the chroot
|
|
||||||
; (error_log, sessions.save_path, ...).
|
|
||||||
; Default Value: not set
|
|
||||||
;chroot =
|
|
||||||
|
|
||||||
; Chdir to this directory at the start.
|
|
||||||
; Note: relative path can be used.
|
|
||||||
; Default Value: current directory or / when chroot
|
|
||||||
;chdir = /var/www
|
|
||||||
|
|
||||||
; Redirect worker stdout and stderr into main error log. If not set, stdout and
|
|
||||||
; stderr will be redirected to /dev/null according to FastCGI specs.
|
|
||||||
; Note: on highloaded environement, this can cause some delay in the page
|
|
||||||
; process time (several ms).
|
|
||||||
; Default Value: no
|
|
||||||
;catch_workers_output = yes
|
|
||||||
|
|
||||||
; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from
|
|
||||||
; the current environment.
|
|
||||||
; Default Value: clean env
|
|
||||||
env[HOSTNAME] = $HOSTNAME
|
|
||||||
env[PATH] = /usr/local/bin:/usr/bin:/bin
|
|
||||||
;env[TMP] = /tmp
|
|
||||||
;env[TMPDIR] = /tmp
|
|
||||||
;env[TEMP] = /tmp
|
|
||||||
|
|
||||||
; Additional php.ini defines, specific to this pool of workers. These settings
|
|
||||||
; overwrite the values previously defined in the php.ini. The directives are the
|
|
||||||
; same as the PHP SAPI:
|
|
||||||
; php_value/php_flag - you can set classic ini defines which can
|
|
||||||
; be overwritten from PHP call 'ini_set'.
|
|
||||||
; php_admin_value/php_admin_flag - these directives won't be overwritten by
|
|
||||||
; PHP call 'ini_set'
|
|
||||||
; For php_*flag, valid values are on, off, 1, 0, true, false, yes or no.
|
|
||||||
|
|
||||||
; Defining 'extension' will load the corresponding shared extension from
|
|
||||||
; extension_dir. Defining 'disable_functions' or 'disable_classes' will not
|
|
||||||
; overwrite previously defined php.ini values, but will append the new value
|
|
||||||
; instead.
|
|
||||||
|
|
||||||
; Note: path INI options can be relative and will be expanded with the prefix
|
|
||||||
; (pool, global or /usr/lib/php5.3)
|
|
||||||
|
|
||||||
; Default Value: nothing is defined by default except the values in php.ini and
|
|
||||||
; specified at startup with the -d argument
|
|
||||||
;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com
|
|
||||||
;php_flag[display_errors] = off
|
|
||||||
;php_admin_value[error_log] = /var/log/fpm-php.www.log
|
|
||||||
;php_admin_flag[log_errors] = on
|
|
||||||
;php_admin_value[memory_limit] = 32M
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
|||||||
{% set php_config = salt['grains.filter_by']({
|
{% set php_config = salt['grains.filter_by']({
|
||||||
'Gentoo': { 'version': '7.4',
|
'Gentoo': { 'version': '7.4',
|
||||||
|
'short': 'php74',
|
||||||
'ini': 'production'},
|
'ini': 'production'},
|
||||||
})
|
})
|
||||||
%}
|
%}
|
||||||
|
@ -1,41 +0,0 @@
|
|||||||
include=/etc/php/fpm-php7.4/fpm.d/*.conf
|
|
||||||
|
|
||||||
[global]
|
|
||||||
; Pid file
|
|
||||||
; Default Value: none
|
|
||||||
; Warning: pid file is overriden by the Gentoo init script.
|
|
||||||
pid = /run/php-fpm.pid
|
|
||||||
|
|
||||||
; Error log file
|
|
||||||
; Note: the default prefix is /var/lib
|
|
||||||
; Default Value: log/php-fpm.log
|
|
||||||
error_log = /var/log/php-fpm.log
|
|
||||||
|
|
||||||
; Log level
|
|
||||||
; Possible Values: alert, error, warning, notice, debug
|
|
||||||
; Default Value: notice
|
|
||||||
log_level = notice
|
|
||||||
|
|
||||||
; If this number of child processes exit with SIGSEGV or SIGBUS within the time
|
|
||||||
; interval set by emergency_restart_interval then FPM will restart. A value
|
|
||||||
; of '0' means 'Off'.
|
|
||||||
; Default Value: 0
|
|
||||||
emergency_restart_threshold = 0
|
|
||||||
|
|
||||||
; Interval of time used by emergency_restart_interval to determine when
|
|
||||||
; a graceful restart will be initiated. This can be useful to work around
|
|
||||||
; accidental corruptions in an accelerator's shared memory.
|
|
||||||
; Available Units: s(econds), m(inutes), h(ours), or d(ays)
|
|
||||||
; Default Unit: seconds
|
|
||||||
; Default Value: 0
|
|
||||||
emergency_restart_interval = 0
|
|
||||||
|
|
||||||
; Time limit for child processes to wait for a reaction on signals from master.
|
|
||||||
; Available units: s(econds), m(inutes), h(ours), or d(ays)
|
|
||||||
; Default Unit: seconds
|
|
||||||
; Default Value: 0
|
|
||||||
process_control_timeout = 0
|
|
||||||
|
|
||||||
; Send FPM to background. Set to 'no' to keep FPM in foreground for debugging.
|
|
||||||
; Default Value: yes
|
|
||||||
daemonize = yes
|
|
@ -1,13 +1,17 @@
|
|||||||
# -*- mode: yaml -*-
|
# -*- mode: yaml -*-
|
||||||
{% from "php/map.jinja" import php_config with context %}
|
{% from "php/map.jinja" import php_config with context %}
|
||||||
{% set php_version = php_config['version'] %}
|
{% set php_version = php_config['version'] %}
|
||||||
|
{% set php_short = php_config['short'] %}
|
||||||
|
|
||||||
include:
|
include:
|
||||||
- .php74
|
- .{{php_short}}
|
||||||
|
|
||||||
/etc/php/fpm-php{{ php_version }}/php-fpm.conf:
|
/etc/php/fpm-php{{ php_version }}/php-fpm.conf:
|
||||||
file.managed:
|
file.managed:
|
||||||
- source: salt://php/php-fpm.conf
|
- source: salt://php/files/php-fpm.conf
|
||||||
|
- template: jinja
|
||||||
|
- context:
|
||||||
|
php_version: {{ php_version }}
|
||||||
- mode: 644
|
- mode: 644
|
||||||
- user: root
|
- user: root
|
||||||
- group: root
|
- group: root
|
||||||
@ -21,7 +25,7 @@ include:
|
|||||||
|
|
||||||
/etc/php/fpm-php{{ php_version }}/fpm.d/default.conf:
|
/etc/php/fpm-php{{ php_version }}/fpm.d/default.conf:
|
||||||
file.managed:
|
file.managed:
|
||||||
- source: salt://php/fpm.d/default.conf
|
- source: salt://php/files/fpm.d/default.conf
|
||||||
- mode: 644
|
- mode: 644
|
||||||
- user: root
|
- user: root
|
||||||
- group: root
|
- group: root
|
||||||
@ -34,11 +38,27 @@ eselect-php-fpm:
|
|||||||
- action_parameter: 'fpm'
|
- action_parameter: 'fpm'
|
||||||
- target: 'php{{ php_version }}'
|
- target: 'php{{ php_version }}'
|
||||||
|
|
||||||
|
/etc/systemd/system/php-fpm.service: file.absent
|
||||||
|
{% elif grains['init'] == 'systemd' %}
|
||||||
|
/etc/systemd/system/php-fpm.service:
|
||||||
|
file.managed:
|
||||||
|
- source: salt://php/files/php-fpm.service.tpl
|
||||||
|
- template: jinja
|
||||||
|
- mode: 644
|
||||||
|
- user: root
|
||||||
|
- group: root
|
||||||
|
- watch_in:
|
||||||
|
- service: php-fpm
|
||||||
|
|
||||||
|
/etc/init.d/php-fpm: file.absent
|
||||||
|
/etc/conf.d/php-fpm: file.absent
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
php-fpm:
|
php-fpm:
|
||||||
service.running:
|
service.running:
|
||||||
- enable: True
|
- enable: True
|
||||||
- watch:
|
- watch:
|
||||||
- pkg: php74
|
- pkg: {{php_short}}
|
||||||
- eselect: eselect-php-fpm
|
- eselect: eselect-php-fpm
|
||||||
- file: /etc/php/fpm-php{{ php_version }}/php-fpm.conf
|
- file: /etc/php/fpm-php{{ php_version }}/php-fpm.conf
|
||||||
- file: /etc/php/fpm-php{{ php_version }}/fpm.d/
|
- file: /etc/php/fpm-php{{ php_version }}/fpm.d/
|
||||||
|
Loading…
Reference in New Issue
Block a user