Com o FPM você pode executar várias rotinas de processos com configuração diferente.
Essas são as configurações que podem ser otimizadas por cada rotina.
-
listen
string
-
O endereço que aceita pedidos FastCGI. Sintaxes válidas são:
'ip.add.re.ss:port', 'port', '/path/to/unix/socket'. Esta opção é
obrigatória em cada rotina.
-
listen.backlog
int
-
Define o backlog de listen(2). O valor de -1
significa o máximo em sistemas BSD;.
Valor padrão: -1
(FreeBSD ou OpenBSD) ou 511
(Linux e outras plataformas).
-
listen.allowed_clients
string
-
Lista de endereços IPv4 de clientes FastCGI que estão autorizados a conectar. Equivalente
à variável de ambiente FCGI_WEB_SERVER_ADDRS no PHP FastCGI (5.2.2+).
Só faz sentido com um soquete de escuta TCP. Cada endereço deve ser separado por uma vírgula.
Se este valor for deixado em branco, conexões serão aceitas a partir de qualquer endereço IP.
Valor padrão: nenhum (aceita conexões de qualquer IP).
-
listen.owner
string
-
Define permissões para socket unix, se utilizado. No Linux, permissões de
leitura/gravação devem ser definidas de forma a permitir conexões a partir de um servidor
web. Muitos sistemas derivados do BSD permitir conexões independentemente das permissões.
Os valores padrão: usuários e grupos são definidos como o usuário que está executando, de modo está definido para 0660.
-
listen.group
string
-
Veja listen.owner
.
-
listen.mode
string
-
Veja listen.owner
.
-
listen.acl_users
string
-
Quando o suporte ao Access Control Lists POSIX for suportado, pode-se configurá-lo utilizando esta opção.
Ao configurá-lo, listen.owner
e listen.group
serão ignorados. Seu valor é uma lista de nomes de usuários, separada por vírgula.
-
listen.acl_groups
string
-
Veja listen.acl_users
.
Seu valor é uma lista de nomes de grupo, separada por vírgula.
-
user
string
-
Usuário Unix dos processos FPM. Esta opção é obrigatória.
-
group
string
-
Grupo Unix dos processos FPM. Se não for definido, o grupo do usuário padrão será
utilizado.
-
pm
string
-
Escolha como o gerenciador de processos controlará o número de processos
filhos. Valores possíveis: static
, ondemand
,
dynamic
.
Esta opção é obrigatória.
static
- o número de processos filho é fixo (pm.max_children
).
ondemand
- os processos sob demanda (quando solicitado,
em oposição a dinâmica, então pm.start_servers
são iniciadas
quando o serviço é iniciado.
dynamic
- o número de processos filhos são definidos dinamicamente com base nas
seguintes diretrizes: pm.max_children
, pm.start_servers
,
pm.min_spare_servers
, pm.max_spare_servers
.
-
pm.max_children
int
-
O número de processos filhos que podem ser criados quando pm
está configurado como
static
e o número máximo de processos filhos podem ser criados
quando pm
está configurado como dynamic
. Essa
opção é obrigatória.
Esta opção define o limite para o número de solicitações simultâneas que
será servida. Equivalente à directiva ApacheMaxClients com
mpm_prefork e ao PHP_FCGI_CHILDREN variável de ambiente no
originais PHP FastCGI.
-
pm.start_servers
int
-
O número de processos filhos criados na inicialização.
Usado apenas quando pm
é configurado em dynamic
.
Valor padrão: (min_spare_servers + max_spare_servers) / 2.
-
pm.min_spare_servers
int
-
O número mínimo desejado de processos servidores inativos. Usado apenas quando
pm
está configurado como dynamic
. Também
obrigatório neste caso.
-
pm.max_spare_servers
int
-
O número máximo desejado de processos servidores inativos. Usado apenas quando
pm
está configurado como dynamic
. Também
obrigatório neste caso.
-
pm.max_spawn_rate
int
-
O número de processos para inicializar de uma vez. Utilizado apenas quando
pm
é configurado para dynamic
.
Valor padrão: 32
-
pm.process_idle_timeout
mixed
-
O número de segundos após qual um processo parado será encerrado.
Utilizado apenas quando pm
é configurado como ondemand
.
Unidades disponíveis: s(segunfos)(default), m(minutos), h(horas), or d(dias).
Valor padrão: 10s.
-
pm.max_requests
int
-
O número de solicitações de cada processo filho deve ser executado antes
respawning. Isto pode ser útil para contornar falhas de memória de bibliotecas de
terceiro partido. Para o processamento de pedido interminável especificar '0 '. equivalente a
PHP_FCGI_MAX_REQUESTS. Valor padrão: 0.
-
pm.status_listen
string
-
O endereço no qual o FastCGI acessa requisições de status. Isto cria um novo pool invisível
que sustenta essas requisições independentemente. Útil se o pool principal está ocupado
com requisições longas dado que é possível obter a
página de status FPM enquanto rodando requisições
longas. A sintaxe é a mesma da opçãolisten.
Valor padrão: vazio.
-
pm.status_path
string
-
O URI para visualizar a FPM status page. Este valor precisa
começar com uma contra barra (/). Se o valor estiver vazio, nenhuma URI será reconhecida como
uma página de status. Valor padrão: vazio.
-
ping.path
string
-
O URI ping para chamar a página de FPM de monitoramento. Se este valor não é
definido, nenhuma URI será reconhecido como uma página de ping. Isto poderia ser usado para testar
de fora que FPM está vivo e responder. Por favor, note que o valor deve
começar com uma barra à esquerda (/).
-
ping.response
string
-
Esta diretiva pode ser usado para personalizar a resposta a um pedido
ping. A resposta é formatada como text/plain com uma resposta de código 200.
Valor padrão: pong.
-
process.priority
int
-
Especifica a prioridade de nice(2) a ser aplicado ao processo (se informado).
Esse valor pode variar de -19 (prioridade máxima) to 20 (priridade mínima).
Valor padrão: vazio.
-
process.dumpable
bool
-
Configura a flag dumpable (PR_SET_DUMPABLE prctl) mesmo no caso do processo de usuário
ou grupo for diferente do processo inicializador. Isto permite criar core dumps
de processos e realizar ptrace no user pool.
Valor padrão: no. Desde os PHP 7.0.29, 7.1.17 e 7.2.5.
-
prefix
string
-
Especifica um prefix para interpretação de caminhos.
-
request_terminate_timeout
mixed
-
O tempo limite para servir um único pedido após o qual o processo
trabalha serão encerradas. Esta opção deve ser usada quando o 'max_execution_time',
opção do arquivo ini não parar a execução do script por algum motivo. Um valor de '0', significa
'Off'. Unidades disponíveis: s(econds) (padrão), m(inuts), h(our), ou d(ays).
Valor padrão: 0.
-
request_terminate_timeout_track_finished
bool
-
O timeout configurado para
request_terminate_timeout não é disparado
depois de fastcgi_finish_request or
quando a aplicação terminou e funções internas de finalização estão rodando. Esta
diretiva irá aplicar o timeout mesmo para esses casos.
Valor padrão: no. Desde o PHP 7.3.0.
-
request_slowlog_timeout
mixed
-
O tempo limite para servir um único pedido depois que um rastreamento PHP
serão despejados para o arquivo 'slowlog. Um valor de '0 'significa' Off '.
Unidades disponíveis: s(egundos)(padrão), m(inutos), h(oras), or d(dias).
Valor padrão: 0.
-
request_slowlog_trace_depth
int
-
A profundidade do stack trace de slowlog.
Valor padrão: 20. Desde o PHP 7.2.0.
-
slowlog
string
-
O arquivo de log de solicitações lentas. Valor padrão:
#INSTALL_PREFIX#/log/php-fpm.log.slow
.
-
rlimit_files
int
-
Define o descritor de arquivo de abertura rlimit. Valor padrão: valor definido pelo sistema.
-
rlimit_core
int
-
Define o tamanho do núcleo máxímo do rlimit. Valores possíveis: 'unlimited' ou um número inteiro maior ou igual a 0.
Valor padrão: valor definido pelo sistema.
-
chroot
string
-
Chroot neste diretório, na inicialização. Este valor deve ser definido como
um caminho absoluto. Quando este valor não está definido, chroot não é usado.
-
chdir
string
-
Chdir neste diretório, na inicialização. Este valor deve ser um caminho
absoluto. Valor padrão: diretório atual ou / ao chroot.
-
catch_workers_output
bool
-
Redirecionar stdout e stderr no log de erro principal. Se não for definido,
stdout e stderr serão redirecionadas para /dev/null de acordo com especificações FastCGI.
Valor padrão: no.
-
decorate_workers_output
bool
-
Ativa a decoração do outpur de workers quando catch_workers_output estiver ativo.
Valor padrão: yes.
Disponível desde o PHP 7.3.0.
-
clear_env
bool
-
Limpa o ambiente dos workers do FPM.
Previne que variáveis de ambiente arbitrárias alcancem os processos dos workers do FPM
limpando o ambiente nos workers antes das variáveis de ambientes desta
rotina serem adicionadas.
Valor padrão: Yes.
-
security.limit_extensions
string
-
Limita as extensões que o script principal do FPM possui permissão a analisar.
Evita problemas de configurações no servidor de aplicação.
Você deve limitar as extensões do FPM a somente o .php para evitar
que usuários maliciosos utilizem outras extensões para executar códigos php.
Default value: .php .phar
-
apparmor_hat
string
-
Se AppArmor estiver ativo, isto permite modificar o "hat".
Valor padrão: não configurado.
-
access.log
string
-
O arquivo de log de acessos.
Valor padrão: não configurado.
-
access.format
string
-
O formato do log de acesso.
Valor padrão: "%R - %u %t \"%m %r\" %s"
:
É possível passar variáveis de ambiente adicionais e atualizar as configurações do PHP de uma determinada rotina.
Para fazer isso, precisa-se adicionar as seguintes opções no arquivo de configuração da rotina.