Posts Tagged ‘performance’

Apache2 + PHP-FPM no Ubuntu

abril 16th, 2013

As vezes precisamos de um servidor web com performance excelente porém ficamos presos a necessidade do famoso htaccess do apache, então vamos configurar o Apache2 para trabalhar com o PHP-FPM no Ubuntu.

Primeiro vamos instalar o apache2, o php e alguns módulos:

sudo apt-get install apache2-mpm-worker libapache2-mod-fastcgi php5 php5-fpm php5-cgi php-apc

Agora vamos configurar nosso apache para encaminhar as requisições para serem executadas pelo fpm:

Primeiro habilite os módulos que iremos utilizar:

sudo a2enmod actions fastcgi alias rewrite

É necessário um script para que o apache consiga se comunicar com o php-fpm, crie o arquivo /usr/bin/php5-fcgi:

sudo nano /usr/bin/php5-fcgi

E coloque o seguinte conteúdo:

#!/bin/sh
exec /usr/bin/php5-cgi

Agora faça com que este arquivo seja executável:

chmod +x /usr/bin/php5-fcgi

Edite o arquivo /etc/apache2/conf.d/httpd

sudo nano /etc/apache2/conf.d/httpd

E coloque as configurações padrões para todos os vhosts:

<IfModule mod_fastcgi.c>
        AddHandler php5-fcgi .php
        Action php5-fcgi /php5-fcgi
        Alias /php5-fcgi /usr/bin/php5-fcgi
        FastCgiExternalServer /usr/bin/php5-fcgi -socket /var/run/php5-fpm.sock -pass-header Authorization
</IfModule>
<Directory />
	Options FollowSymLinks
	AllowOverride None
</Directory>
<Directory /var/www/>
	Options Indexes FollowSymLinks MultiViews
	AllowOverride All
	Order allow,deny
	allow from all
</Directory>

Edite o arquivo /etc/apache2/sites-enabled/000-default e deixe assim:

<VirtualHost _default_:80>
	DocumentRoot /var/www/
</VirtualHost>

Reinicie o apache:

sudo apache2ctl restart

Crie um arquivo de testes em /var/www/info.php e coloque o seguinte conteúdo

<?php
phpinfo();

Agora é só testar no seu browser, acessando o endereço: http://localhost/info.php