{"id":37086,"date":"2025-01-17T10:11:21","date_gmt":"2025-01-17T13:11:21","guid":{"rendered":"https:\/\/www.locaweb.com.br\/ajuda\/?post_type=ht_kb&#038;p=37086"},"modified":"2025-01-17T10:12:04","modified_gmt":"2025-01-17T13:12:04","slug":"php-fpm","status":"publish","type":"ht_kb","link":"https:\/\/www.locaweb.com.br\/ajuda\/wiki\/php-fpm\/","title":{"rendered":"Como configurar o PHP-FPM?"},"content":{"rendered":"<p>O <strong>PHP-FPM<\/strong> (PHP FastCGI Process Manager) \u00e9 uma alternativa \u00e0 implementa\u00e7\u00e3o tradicional do PHP, que oferece melhor desempenho e controle de recursos para sites e aplica\u00e7\u00f5es web de alto tr\u00e1fego.<\/p>\n<p>Neste guia, vamos explorar como configurar e utilizar o PHP-FPM de forma eficiente em sua <a href=\"https:\/\/www.locaweb.com.br\/hospedagem-de-sites-com-dominio-gratis\/\" target=\"_blank\" rel=\"noopener noreferrer\">hospedagem de site<\/a>.<\/p>\n<h2>Como configurar e ativar o PHP-FPM?<\/h2>\n<p>Para configurar e ativar o PHP-FPM, siga os seguintes passos:<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Acesse o arquivo de configura\u00e7\u00e3o do PHP-FPM (geralmente localizado em <em>\/etc\/php\/7.x\/fpm\/php-fpm.conf ou \/etc\/php-fpm.conf<\/em>, a depender da sua distribui\u00e7\u00e3o);<\/li>\n<li>Edite o arquivo para configurar as op\u00e7\u00f5es desejadas. Exemplo:<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<pre><em>[global]<\/em>\r\n\r\n<em>pid = \/run\/php\/php7.4-fpm.pid<\/em>\r\n\r\n<em>error_log = \/var\/log\/php7.4-fpm.log<\/em>\r\n\r\n<em>daemonize = yes<\/em>\r\n\r\n<em>[www]<\/em>\r\n\r\n<em>user = www-data<\/em>\r\n\r\n<em>group = www-data<\/em>\r\n\r\n<em>listen = \/run\/php\/php7.4-fpm.sock<\/em>\r\n\r\n<em>listen.owner = www-data<\/em>\r\n\r\n<em>listen.group = www-data<\/em>\r\n\r\n<em>pm = dynamic<\/em>\r\n\r\n<em>pm.max_children = 5<\/em>\r\n\r\n<em>pm.start_servers = 2<\/em>\r\n\r\n<em>pm.min_spare_servers = 1<\/em>\r\n\r\n<em>pm.max_spare_servers = 3<\/em><\/pre>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Salve as altera\u00e7\u00f5es e reinicie o servi\u00e7o PHP-FPM:<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<pre><em>sudo systemctl restart php7.4-fpm<\/em><\/pre>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Configure o seu servidor web (como Nginx) para usar o PHP-FPM. No Nginx, adicione as seguintes linhas ao bloco do servidor:<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<pre><em>location ~ \\.php$ {<\/em>\r\n\r\n<em> fastcgi_pass unix:\/run\/php\/php7.4-fpm.sock;<\/em>\r\n\r\n<em> fastcgi_index index.php;<\/em>\r\n\r\n<em> include fastcgi_params;<\/em><\/pre>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Reinicie o servidor web:<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<pre><em>sudo systemctl restart nginx<\/em><\/pre>\n<p>Lembre-se de<strong> ajustar as vers\u00f5es e os caminhos<\/strong> conforme a sua configura\u00e7\u00e3o espec\u00edfica.<\/p>\n<h2>Como utilizar o PHP e PHP-FPM juntos?<\/h2>\n<p>O <a href=\"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/php\/\" target=\"_blank\" rel=\"noopener noreferrer\">PHP<\/a> e o PHP-FPM <strong>trabalham em conjunto<\/strong> para processar scripts PHP de forma eficiente. Veja como eles interagem:<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li>O servidor web (como Nginx) recebe uma solicita\u00e7\u00e3o para um arquivo PHP;<\/li>\n<li>O servidor web passa a solicita\u00e7\u00e3o para o PHP-FPM por meio do socket ou da porta configurada;<\/li>\n<li>O PHP-FPM gerencia um pool de processos PHP que interpretam e executam o script;<\/li>\n<li>O resultado \u00e9 enviado de volta ao servidor web, que o encaminha para o cliente.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p>Para <strong>otimizar o uso conjunto do PHP e PHP-FPM<\/strong>:<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Ajuste as configura\u00e7\u00f5es do pool de processos (<em>pm.max_children<\/em>, <em>pm.start_servers<\/em>, entre outros) com base no tr\u00e1fego do seu site e nos recursos do servidor;<\/li>\n<li>Utilize o opcode caching (como OPcache) para melhorar o desempenho;<\/li>\n<li>Monitore o uso de recursos e ajuste as configura\u00e7\u00f5es conforme necess\u00e1rio.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>Lista de diretivas<\/h2>\n<p>Aqui est\u00e3o algumas das principais diretivas do PHP-FPM que voc\u00ea pode configurar:<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><em>pm<\/em>: define o modo de gerenciamento de processos (<em>static<\/em>, <em>dynamic<\/em>, <em>ondemand<\/em>);<\/li>\n<li><em>pm.max_children<\/em>: n\u00famero m\u00e1ximo de processos-filho que podem ser criados;<\/li>\n<li><em>pm.start_servers<\/em>: n\u00famero de processos-filho criados na inicializa\u00e7\u00e3o;<\/li>\n<li><em>pm.min_spare_servers<\/em>: n\u00famero m\u00ednimo de processos-filho ociosos;<\/li>\n<li><em>pm.max_spare_servers<\/em>: n\u00famero m\u00e1ximo de processos-filho ociosos;<\/li>\n<li><em>pm.process_idle_timeout<\/em>: tempo m\u00e1ximo que um processo-filho pode ficar ocioso;<\/li>\n<li><em>request_terminate_timeout<\/em>: tempo m\u00e1ximo de execu\u00e7\u00e3o de uma requisi\u00e7\u00e3o;<\/li>\n<li><em>request_slowlog_timeout<\/em>: tempo ap\u00f3s uma requisi\u00e7\u00e3o lenta ser registrada;<\/li>\n<li><em>slowlog<\/em>: caminho para o arquivo de log de requisi\u00e7\u00f5es lentas.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Para uma lista completa de diretivas, consulte a <a href=\"https:\/\/www.php.net\/manual\/en\/install.fpm.configuration.php\" target=\"_blank\" rel=\"noopener noreferrer\">documenta\u00e7\u00e3o oficial do PHP-FPM<\/a>.<\/p>\n<h2>O que \u00e9 PHP-FPM?<\/h2>\n<p>PHP-FPM (FastCGI Process Manager) \u00e9 uma <strong>implementa\u00e7\u00e3o alternativa do PHP FastCGI com recursos adicionais <\/strong>\u00fateis para sites de alto tr\u00e1fego. Ele fornece melhores op\u00e7\u00f5es de gerenciamento de processos PHP e permite um controle mais fino sobre o uso de mem\u00f3ria e CPU.<\/p>\n<h3>Diferen\u00e7a do PHP para o PHP-FPM<\/h3>\n<p>A principal diferen\u00e7a entre o PHP tradicional e o PHP-FPM est\u00e1 na <strong>forma como os processos PHP s\u00e3o gerenciados<\/strong>.<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><strong>PHP tradicional<\/strong> (mod_php):<\/li>\n<li><strong>PHP-FPM<\/strong>:<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3>Exemplos de uso<\/h3>\n<p>Aqui est\u00e3o alguns exemplos de como o PHP-FPM pode ser usado em diferentes cen\u00e1rios. Confira!<\/p>\n<h4><strong>Site de e-commerce de alto tr\u00e1fego:<\/strong><\/h4>\n<pre><em>[ecommerce]\r\n\r\n<\/em><em>user = ecommerce<\/em>\r\n\r\n<em>group = ecommerce<\/em>\r\n\r\n<em>listen = \/var\/run\/php\/ecommerce.sock<\/em>\r\n\r\n<em>pm = dynamic<\/em>\r\n\r\n<em>pm.max_children = 50<\/em>\r\n\r\n<em>pm.start_servers = 5<\/em>\r\n\r\n<em>pm.min_spare_servers = 5<\/em>\r\n\r\n<em>pm.max_spare_servers = 35<\/em>\r\n\r\n<em>pm.max_requests = 500<\/em><\/pre>\n<h4><strong>Blog WordPress com tr\u00e1fego moderado:<\/strong><\/h4>\n<pre><em>[wordpress]\r\n\r\n<\/em><em>user = wordpress<\/em>\r\n\r\n<em>group = wordpress<\/em>\r\n\r\n<em>listen = 127.0.0.1:9000<\/em>\r\n\r\n<em>pm = ondemand<\/em>\r\n\r\n<em>pm.max_children = 20<\/em>\r\n\r\n<em>pm.process_idle_timeout = 10s<\/em>\r\n\r\n<em>pm.max_requests = 500<\/em><\/pre>\n<h4><strong>Aplica\u00e7\u00e3o PHP com requisitos de mem\u00f3ria elevados:<\/strong><\/h4>\n<pre><em>[memory-intensive]\r\n\r\n<\/em><em>user = app<\/em>\r\n\r\n<em>group = app<\/em>\r\n\r\n<em>listen = \/var\/run\/php\/memory-intensive.sock<\/em>\r\n\r\n<em>pm = static<\/em>\r\n\r\n<em>pm.max_children = 10<\/em>\r\n\r\n<em>php_admin_value[memory_limit] = 256M<\/em><\/pre>\n<h3>Vantagens<\/h3>\n<p>O PHP-FPM oferece v\u00e1rias vantagens sobre o PHP tradicional:<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><strong>Melhor gerenciamento de recursos<\/strong>: controle fino sobre o n\u00famero de processos PHP e uso de mem\u00f3ria;<\/li>\n<li><strong>Maior desempenho<\/strong>: processamento mais eficiente de solicita\u00e7\u00f5es, especialmente em sites de alto tr\u00e1fego;<\/li>\n<li><strong>Isolamento de processos<\/strong>: cada pool pode ser executado com diferentes usu\u00e1rios e configura\u00e7\u00f5es;<\/li>\n<li><strong>Rein\u00edcio gracioso<\/strong>: permite atualizar configura\u00e7\u00f5es sem interromper o servi\u00e7o;<\/li>\n<li><strong>Melhor integra\u00e7\u00e3o com servidores web leves<\/strong>: funciona muito bem com Nginx e melhora o desempenho geral do servidor;<\/li>\n<li><strong>Logs detalhados<\/strong>: oferece logs mais detalhados para solu\u00e7\u00e3o de problemas e monitoramento;<\/li>\n<li><strong>Escalabilidade<\/strong>: facilita a escalabilidade horizontal por meio da configura\u00e7\u00e3o de m\u00faltiplos pools.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3>Entenda quando n\u00e3o usar o PHP-FPM<\/h3>\n<p>Embora o PHP-FPM seja uma excelente op\u00e7\u00e3o para muitos cen\u00e1rios, h\u00e1 situa\u00e7\u00f5es em que pode n\u00e3o ser a melhor escolha:<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><strong>Servidores com recursos muito limitados<\/strong>: em ambientes com mem\u00f3ria e CPU muito restritos, o overhead adicional do PHP-FPM pode n\u00e3o ser justific\u00e1vel;<\/li>\n<li><strong>Sites com tr\u00e1fego extremamente baixo<\/strong>: para sites pessoais ou projetos muito pequenos, a configura\u00e7\u00e3o adicional pode n\u00e3o valer a pena;<\/li>\n<li><strong>Ambientes de desenvolvimento simples<\/strong>: para desenvolvimento local r\u00e1pido, o PHP integrado pode ser suficiente e mais f\u00e1cil de configurar;<\/li>\n<li><strong>Compatibilidade com software legado<\/strong>: alguns aplicativos mais antigos podem n\u00e3o ser totalmente compat\u00edveis com o PHP-FPM;<\/li>\n<li><strong>Quando o mod_php \u00e9 suficiente<\/strong>: se o seu site funciona bem com mod_php e voc\u00ea n\u00e3o precisa das funcionalidades adicionais do PHP-FPM, pode n\u00e3o haver necessidade de mudan\u00e7a.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>Perguntas frequentes<\/h2>\n<h3>Para que serve o PHP-FPM?<\/h3>\n<p>O PHP-FPM serve para <strong>gerenciar processos PHP de forma mais eficiente<\/strong>, al\u00e9m de oferecer melhor desempenho e controle de recursos para sites e aplica\u00e7\u00f5es web, especialmente aqueles com alto tr\u00e1fego ou requisitos espec\u00edficos de recursos.<\/p>\n<h3>Como habilitar PHP-FPM?<\/h3>\n<p>Para habilitar o PHP-FPM:<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li>Instale o pacote PHP-FPM (ex.: <em>sudo apt-get install php7.4-fpm<\/em> no Ubuntu);<\/li>\n<li>Configure o arquivo <em>php-fpm.conf<\/em> conforme as suas necessidades;<\/li>\n<li>Inicie o servi\u00e7o PHP-FPM (<em>sudo systemctl start <\/em><em>php7.4-fpm<\/em>);<\/li>\n<li>Configure o seu servidor web para usar o PHP-FPM;<\/li>\n<li>Reinicie o servidor web.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h3>Como deixar o PHP mais r\u00e1pido?<\/h3>\n<p>Para otimizar o desempenho do PHP:<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li>Use PHP-FPM em vez do mod_php tradicional;<\/li>\n<li>Ative o OPcache para caching de bytecode;<\/li>\n<li>Utilize um acelerador de PHP como o APCu;<\/li>\n<li>Otimize as configura\u00e7\u00f5es do PHP-FPM (<em>pm.max_children<\/em>, <em>pm.start_servers<\/em>, entre outros);<\/li>\n<li>Implemente caching de aplica\u00e7\u00e3o (Redis, Memcached);<\/li>\n<li>Otimize as suas consultas de banco de dados;<\/li>\n<li>Use um CDN para conte\u00fado est\u00e1tico;<\/li>\n<li>Mantenha o PHP e todas as extens\u00f5es atualizadas;<\/li>\n<li>Utilize um servidor web leve como Nginx;<\/li>\n<li>Implemente compress\u00e3o GZIP para respostas HTTP.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p>Lembre-se de que <strong>a otimiza\u00e7\u00e3o deve ser feita com base nas necessidades espec\u00edficas do seu site ou da aplica\u00e7\u00e3o<\/strong>. \u00c9 importante monitorar o desempenho e ajustar as configura\u00e7\u00f5es conforme necess\u00e1rio.<\/p>\n<p>Para mais informa\u00e7\u00f5es sobre como otimizar o seu ambiente PHP, leia tamb\u00e9m nossos conte\u00fados sobre:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.locaweb.com.br\/ajuda\/wiki\/como-utilizar-os-modulos-php-hospedagem-de-sites\/\" target=\"_blank\" rel=\"noopener noreferrer\">Como utilizar os m\u00f3dulos PHP<\/a><\/li>\n<li><a href=\"https:\/\/www.locaweb.com.br\/ajuda\/wiki\/header-php\/\" target=\"_blank\" rel=\"noopener noreferrer\">Header PHP: como usar corretamente a sua fun\u00e7\u00e3o<\/a><\/li>\n<li><a href=\"https:\/\/www.locaweb.com.br\/conteudos\/hospedagem-php-com-mysql\/\" target=\"_blank\" rel=\"noopener noreferrer\">O que \u00e9 uma Hospedagem PHP com MySQL?<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>O PHP-FPM (PHP FastCGI Process Manager) \u00e9 uma alternativa \u00e0 implementa\u00e7\u00e3o tradicional do PHP, que oferece melhor desempenho e controle de recursos para sites e aplica\u00e7\u00f5es web de alto tr\u00e1fego. Neste guia, vamos explorar como configurar e utilizar o PHP-FPM de forma eficiente em sua hospedagem de site. Como configurar&#8230;<\/p>\n","protected":false},"author":48,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"footnotes":""},"ht-kb-category":[119],"ht-kb-tag":[],"class_list":["post-37086","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_category-hospedagem-de-sites"],"_links":{"self":[{"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb\/37086","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/users\/48"}],"replies":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/comments?post=37086"}],"version-history":[{"count":1,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb\/37086\/revisions"}],"predecessor-version":[{"id":37087,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb\/37086\/revisions\/37087"}],"wp:attachment":[{"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/media?parent=37086"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb-category?post=37086"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/ajuda\/wp-json\/wp\/v2\/ht-kb-tag?post=37086"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}