SlideShare uma empresa Scribd logo
1 de 6
Baixar para ler offline
Neste tutorial iremos trabalhar em cima do sistema operacional Debian
10 Buster utilizando uma maquina com Apache2.4 instalado, faremos o uso do
mpm_event juntamente com php-fpm instalado na mesma.
Pré-requisitos
Você deve ter acesso SSH ao sistema Debian 10 com privilégios de Sudo.
Instalação do Apache
Pacotes Apache estão disponíveis nos repositórios padrão do Apt em todos
os sistemas Debian. Você pode atualizar o cache do Apt e instalar os
pacotes do servidor web Apache usando o seguinte comando:sudo apt
update
sudo apt update
sudo apt install apache2 gnupg2
Instalação PHP e PHP-FPM
Para a instalação do PHP, recomendamos o uso do PPA de Ondřej Surý,
que fornece as versões mais recentes do PHP para sistemas Debian.
Adicione este PPA ao seu sistema Debian usando os seguintes comandos:
wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
echo "deb https://packages.sury.org/php/ buster main" | tee
/etc/apt/sources.list.d/php.list
Depois disso, instale a versão PHP necessária. Você pode simplesmente
executar os seguintes comandos para a instalação padrão da versão PHP
com pacotes PHP-FPM.
apt update
sudo apt install php php7.2-fpm
Configuração Apache
Agora habilite alguns módulos necessários para a configuração de várias
versões do PHP com o Apache. Esses módulos são necessários para
integrar o PHP FPM e FastCGI ao servidor Apache.
a2enmod alias proxy proxy_fcgi
Vamos configurar o Apache VirtualHost para executar com o FPM / FastCGI.
Para este tutorial, usamos o VirtualHost padrão. Edite o arquivo de
configuração do host do VirtualHost em um editor de texto. Você pode
criar um novo VirtualHost conforme seus requisitos, portanto, habilite
qualquer novo VirtualHost.
vim /etc/apache2/sites-available/000-default.conf
Atualize a configuração da seguinte maneira.
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/html
<Directory /var/www/html>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
<FilesMatch .php$>
# 2.4.10+ can proxy to unix socket
SetHandler "proxy:unix:/run/php/php7.2-fpm.sock|fcgi://localhost"
</FilesMatch>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Salve suas alterações no arquivo de configuração e reinicie o Apache para
recarregar as alterações.
systemctl restart apache2.service
Configuração de teste
Crie um script PHP com a unçãophpinfo ()e coloque-o na raiz do
documento do servidor. Use o comando abaixo para fazer isso.
echo " <? php phpinfo ();?> "> /var/www/html/info.php
Agora acesse o info.php usando o endereço IP do servidor (para o
VirtualHost padrão) para o seu domínio configurado no Apache VirtualHost.
http://localhost/info.php
Instalação do modulo MPM_EVENT
apt-get -y install libapache2-mod-php7.2
Desabilitando o MPM_PREFORK e o Modulo
PHP do Apache2.4
a2dismod php7.2
a2dismod mpm_prefork
a2enmod mpm_event
services apache2 restart
Conferir se de fato foi habilitado o
MPM_EVENT
apache2ctl -V
Conclusão
Concluindo, o MPM de event do Apache aumenta o desempenho do
servidor Apache, permitindo atender a mais solicitações com menos memória.
Se você deseja implantar um aplicativo PHP, use PHP-FPM para lidar com
solicitações PHP. Isso é altamente recomendado para a execução de aplicativos
em servidores com memória limitada, como instâncias da nuvem com 512 MB
ou 1 GB de RAM.As pilhas Bitnami usam essa configuração por padrão para
máquinas virtuais e imagens em nuvem.
Aprofundar na configuração para alto
desempenho acesse:
https://haydenjames.io/php-fpm-tuning-using-pm-static-max-performance/
https://www.liquidweb.com/kb/apache-performance-tuning-mpm-
directives/
https://www.vivaolinux.com.br/artigo/Apache-24-Modulos-de-
Multiprocessamento-MPM?pagina=1
https://medium.com/@sbuckpesch/apache2-and-php-fpm-performance-
optimization-step-by-step-guide-1bfecf161534

Mais conteúdo relacionado

Mais procurados

Yaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensãoYaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensãoThiago Paes
 
Configurando o ftp - ubuntu server
Configurando o ftp - ubuntu serverConfigurando o ftp - ubuntu server
Configurando o ftp - ubuntu serverAparicio Junior
 
Como migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para LinuxComo migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para LinuxMarcelo Sabadini
 
Alta Performance de Aplicações PHP com Nginx
Alta Performance de Aplicações PHP com NginxAlta Performance de Aplicações PHP com Nginx
Alta Performance de Aplicações PHP com NginxThiago Paes
 
Alta Performance de Aplicações Web em PHP - Nginx
Alta Performance de Aplicações Web em PHP - NginxAlta Performance de Aplicações Web em PHP - Nginx
Alta Performance de Aplicações Web em PHP - NginxThiago Paes
 
Apache2+PHP5+PostgreSQL no Linux
Apache2+PHP5+PostgreSQL no LinuxApache2+PHP5+PostgreSQL no Linux
Apache2+PHP5+PostgreSQL no LinuxVictor Eloy
 
Alta perfomance de aplicações PHP com Nginx
Alta perfomance de aplicações PHP com NginxAlta perfomance de aplicações PHP com Nginx
Alta perfomance de aplicações PHP com NginxThiago Paes
 
Aula 10 configuração ip estático ubuntu server
Aula 10   configuração ip estático ubuntu serverAula 10   configuração ip estático ubuntu server
Aula 10 configuração ip estático ubuntu serverAparicio Junior
 
Instalando o Apache no Windows
Instalando o Apache no WindowsInstalando o Apache no Windows
Instalando o Apache no WindowsSilvio Clecio
 
SENAI - Segurança firewall
SENAI - Segurança   firewall SENAI - Segurança   firewall
SENAI - Segurança firewall Carlos Melo
 
Integração OCS Inventário de hardware software
Integração OCS Inventário de hardware softwareIntegração OCS Inventário de hardware software
Integração OCS Inventário de hardware softwareVenki
 
Tutorial instalacao linux_ubuntu_server
Tutorial instalacao linux_ubuntu_serverTutorial instalacao linux_ubuntu_server
Tutorial instalacao linux_ubuntu_serverGeovanni Viana
 

Mais procurados (20)

Yaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensãoYaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensão
 
Configurando o ftp - ubuntu server
Configurando o ftp - ubuntu serverConfigurando o ftp - ubuntu server
Configurando o ftp - ubuntu server
 
Como migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para LinuxComo migrar seu ambiente de desenvolvimento para Linux
Como migrar seu ambiente de desenvolvimento para Linux
 
Unidade5 roteiro
Unidade5 roteiroUnidade5 roteiro
Unidade5 roteiro
 
Alta Performance de Aplicações PHP com Nginx
Alta Performance de Aplicações PHP com NginxAlta Performance de Aplicações PHP com Nginx
Alta Performance de Aplicações PHP com Nginx
 
Alta Performance de Aplicações Web em PHP - Nginx
Alta Performance de Aplicações Web em PHP - NginxAlta Performance de Aplicações Web em PHP - Nginx
Alta Performance de Aplicações Web em PHP - Nginx
 
Apache2+PHP5+PostgreSQL no Linux
Apache2+PHP5+PostgreSQL no LinuxApache2+PHP5+PostgreSQL no Linux
Apache2+PHP5+PostgreSQL no Linux
 
Alta perfomance de aplicações PHP com Nginx
Alta perfomance de aplicações PHP com NginxAlta perfomance de aplicações PHP com Nginx
Alta perfomance de aplicações PHP com Nginx
 
Aula 10 configuração ip estático ubuntu server
Aula 10   configuração ip estático ubuntu serverAula 10   configuração ip estático ubuntu server
Aula 10 configuração ip estático ubuntu server
 
Unidade5 roteiro
Unidade5 roteiroUnidade5 roteiro
Unidade5 roteiro
 
01 notações iniciais
01   notações iniciais01   notações iniciais
01 notações iniciais
 
Zabbix livro para ubuntu
Zabbix livro para ubuntuZabbix livro para ubuntu
Zabbix livro para ubuntu
 
Instalando o Apache no Windows
Instalando o Apache no WindowsInstalando o Apache no Windows
Instalando o Apache no Windows
 
SENAI - Segurança firewall
SENAI - Segurança   firewall SENAI - Segurança   firewall
SENAI - Segurança firewall
 
Integração OCS Inventário de hardware software
Integração OCS Inventário de hardware softwareIntegração OCS Inventário de hardware software
Integração OCS Inventário de hardware software
 
05 servidor dhcp
05   servidor dhcp05   servidor dhcp
05 servidor dhcp
 
Proftpd
ProftpdProftpd
Proftpd
 
Tutorial instalacao linux_ubuntu_server
Tutorial instalacao linux_ubuntu_serverTutorial instalacao linux_ubuntu_server
Tutorial instalacao linux_ubuntu_server
 
Php WatchDog
Php WatchDogPhp WatchDog
Php WatchDog
 
Ocs inventory
Ocs inventoryOcs inventory
Ocs inventory
 

Semelhante a Apache2.4 tuning-hands on

Project HA
Project HAProject HA
Project HAKarpv
 
PHP Conference 2016
PHP Conference 2016PHP Conference 2016
PHP Conference 2016Edison Costa
 
Programação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebProgramação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebIsrael Messias
 
Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory gigadrop
 
Tutorial instalacao-glpi-ocs
Tutorial instalacao-glpi-ocsTutorial instalacao-glpi-ocs
Tutorial instalacao-glpi-ocsJoao Muela
 
Instalando e configurando o WordPress localmente
Instalando e configurando o WordPress localmenteInstalando e configurando o WordPress localmente
Instalando e configurando o WordPress localmenteHaste Design
 
Gerenciamento de endereços ip com php ipam
Gerenciamento de endereços ip com php ipamGerenciamento de endereços ip com php ipam
Gerenciamento de endereços ip com php ipamPietro Scherer
 
CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1Norivan Oliveira
 
Iniciando com o_zend_framework
Iniciando com o_zend_frameworkIniciando com o_zend_framework
Iniciando com o_zend_frameworkMilton Rodrigues
 
Criando Sites Com CMS
Criando Sites Com CMSCriando Sites Com CMS
Criando Sites Com CMSClaudio Toldo
 
Gerência de Configurações com o Puppet
Gerência de Configurações com o PuppetGerência de Configurações com o Puppet
Gerência de Configurações com o Puppetpericles_junior
 
Docker API Client with PHP and PYTHON
Docker API Client with PHP and PYTHONDocker API Client with PHP and PYTHON
Docker API Client with PHP and PYTHONIago Machado
 
Personalizacao Do Sistema E Servicos
Personalizacao Do Sistema E ServicosPersonalizacao Do Sistema E Servicos
Personalizacao Do Sistema E Servicosarturramisio
 

Semelhante a Apache2.4 tuning-hands on (20)

Linux - Servidor Web Apache
Linux - Servidor Web ApacheLinux - Servidor Web Apache
Linux - Servidor Web Apache
 
Project HA
Project HAProject HA
Project HA
 
Aula 2
Aula 2Aula 2
Aula 2
 
PHP Conference 2016
PHP Conference 2016PHP Conference 2016
PHP Conference 2016
 
Programação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebProgramação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente Web
 
I educar-manual-de-instalaao
I educar-manual-de-instalaaoI educar-manual-de-instalaao
I educar-manual-de-instalaao
 
Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory
 
Tutorial instalacao-glpi-ocs
Tutorial instalacao-glpi-ocsTutorial instalacao-glpi-ocs
Tutorial instalacao-glpi-ocs
 
Instalando e configurando o WordPress localmente
Instalando e configurando o WordPress localmenteInstalando e configurando o WordPress localmente
Instalando e configurando o WordPress localmente
 
Gerenciamento de endereços ip com php ipam
Gerenciamento de endereços ip com php ipamGerenciamento de endereços ip com php ipam
Gerenciamento de endereços ip com php ipam
 
Python CGI
Python CGIPython CGI
Python CGI
 
WampServer
WampServerWampServer
WampServer
 
CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1CURSO DE PHP PARA INICIANTES - AULA 1
CURSO DE PHP PARA INICIANTES - AULA 1
 
Iniciando com o_zend_framework
Iniciando com o_zend_frameworkIniciando com o_zend_framework
Iniciando com o_zend_framework
 
Criando Sites Com CMS
Criando Sites Com CMSCriando Sites Com CMS
Criando Sites Com CMS
 
Gerência de Configurações com o Puppet
Gerência de Configurações com o PuppetGerência de Configurações com o Puppet
Gerência de Configurações com o Puppet
 
06 - Servidor Apache
06 - Servidor Apache06 - Servidor Apache
06 - Servidor Apache
 
Docker API Client with PHP and PYTHON
Docker API Client with PHP and PYTHONDocker API Client with PHP and PYTHON
Docker API Client with PHP and PYTHON
 
Personalizacao Do Sistema E Servicos
Personalizacao Do Sistema E ServicosPersonalizacao Do Sistema E Servicos
Personalizacao Do Sistema E Servicos
 
Vamos falar de docker
Vamos falar de dockerVamos falar de docker
Vamos falar de docker
 

Apache2.4 tuning-hands on

  • 1. Neste tutorial iremos trabalhar em cima do sistema operacional Debian 10 Buster utilizando uma maquina com Apache2.4 instalado, faremos o uso do mpm_event juntamente com php-fpm instalado na mesma. Pré-requisitos Você deve ter acesso SSH ao sistema Debian 10 com privilégios de Sudo. Instalação do Apache Pacotes Apache estão disponíveis nos repositórios padrão do Apt em todos os sistemas Debian. Você pode atualizar o cache do Apt e instalar os pacotes do servidor web Apache usando o seguinte comando:sudo apt update sudo apt update sudo apt install apache2 gnupg2
  • 2. Instalação PHP e PHP-FPM Para a instalação do PHP, recomendamos o uso do PPA de Ondřej Surý, que fornece as versões mais recentes do PHP para sistemas Debian. Adicione este PPA ao seu sistema Debian usando os seguintes comandos: wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add - echo "deb https://packages.sury.org/php/ buster main" | tee /etc/apt/sources.list.d/php.list Depois disso, instale a versão PHP necessária. Você pode simplesmente executar os seguintes comandos para a instalação padrão da versão PHP com pacotes PHP-FPM. apt update sudo apt install php php7.2-fpm Configuração Apache Agora habilite alguns módulos necessários para a configuração de várias versões do PHP com o Apache. Esses módulos são necessários para integrar o PHP FPM e FastCGI ao servidor Apache. a2enmod alias proxy proxy_fcgi Vamos configurar o Apache VirtualHost para executar com o FPM / FastCGI. Para este tutorial, usamos o VirtualHost padrão. Edite o arquivo de configuração do host do VirtualHost em um editor de texto. Você pode criar um novo VirtualHost conforme seus requisitos, portanto, habilite qualquer novo VirtualHost. vim /etc/apache2/sites-available/000-default.conf
  • 3. Atualize a configuração da seguinte maneira. <VirtualHost *:80> ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/html <Directory /var/www/html> Options -Indexes +FollowSymLinks +MultiViews AllowOverride All Require all granted </Directory> <FilesMatch .php$> # 2.4.10+ can proxy to unix socket SetHandler "proxy:unix:/run/php/php7.2-fpm.sock|fcgi://localhost" </FilesMatch> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> Salve suas alterações no arquivo de configuração e reinicie o Apache para recarregar as alterações. systemctl restart apache2.service Configuração de teste Crie um script PHP com a unçãophpinfo ()e coloque-o na raiz do documento do servidor. Use o comando abaixo para fazer isso. echo " <? php phpinfo ();?> "> /var/www/html/info.php Agora acesse o info.php usando o endereço IP do servidor (para o VirtualHost padrão) para o seu domínio configurado no Apache VirtualHost. http://localhost/info.php
  • 4. Instalação do modulo MPM_EVENT apt-get -y install libapache2-mod-php7.2 Desabilitando o MPM_PREFORK e o Modulo PHP do Apache2.4 a2dismod php7.2 a2dismod mpm_prefork a2enmod mpm_event services apache2 restart Conferir se de fato foi habilitado o MPM_EVENT apache2ctl -V
  • 5. Conclusão Concluindo, o MPM de event do Apache aumenta o desempenho do servidor Apache, permitindo atender a mais solicitações com menos memória. Se você deseja implantar um aplicativo PHP, use PHP-FPM para lidar com solicitações PHP. Isso é altamente recomendado para a execução de aplicativos em servidores com memória limitada, como instâncias da nuvem com 512 MB ou 1 GB de RAM.As pilhas Bitnami usam essa configuração por padrão para máquinas virtuais e imagens em nuvem.
  • 6. Aprofundar na configuração para alto desempenho acesse: https://haydenjames.io/php-fpm-tuning-using-pm-static-max-performance/ https://www.liquidweb.com/kb/apache-performance-tuning-mpm- directives/ https://www.vivaolinux.com.br/artigo/Apache-24-Modulos-de- Multiprocessamento-MPM?pagina=1 https://medium.com/@sbuckpesch/apache2-and-php-fpm-performance- optimization-step-by-step-guide-1bfecf161534