Servidor Web · 3 min read · Feb 06, 2026
Instalando Nginx Com PHP 5.3 E PHP-FPM No Ubuntu Lucid Lynx (10.04) Sem Compilar Nada
Instalando Nginx Com PHP 5.3 E PHP-FPM No Ubuntu Lucid Lynx (10.04) Sem Compilar Nada
Versão 1.0
Siga-me no Twitter
Como o Apache é, na maioria das vezes, um processo que consome muita memória, as pessoas começaram a procurar maneiras diferentes de hospedar seus sites. O Apache claramente não é o único servidor web disponível. Alguns bons exemplos são lighttpd e nginx. Neste tutorial, vou mostrar como instalá-lo em seu servidor Ubuntu. Este tutorial também se aplica ao Debian, embora. Há apenas uma diferença muito pequena.
Pronto? Vamos começar, certo.
Passo 0 - Notas Preliminares
Para completar este tutorial, assumo que você instalou um sistema base do Ubuntu Lucid (10.04). Como isso pode ser feito, pode ser lido em diferentes tutoriais. Este tutorial foca apenas em fazer o nginx+php funcionar sem muita complicação.
Passo 1 - Nginx
Instalar o nginx é o primeiro passo que temos que fazer. Isso pode ser facilmente feito baixando-o do repositório.
sudo apt-get install nginxO vhost padrão precisa ser alterado para funcionar corretamente.
sudo vim /etc/nginx/sites-available/defaultUm bom ponto de partida para sua configuração é:
server {
listen 80;
server_name localhost;
access_log /var/log/nginx/localhost.access.log;
## Localização padrão
location / {
root /var/www;
index index.php;
}
## Imagens e conteúdo estático são tratados de forma diferente
location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
access_log off;
expires 30d;
root /var/www;
}
## Analisar todos os arquivos .php no diretório /var/www
location ~ .php$ {
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_pass backend;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;
include fastcgi_params;
fastcgi_intercept_errors on;
fastcgi_ignore_client_abort off;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
}
## Desativar visualização de .htaccess & .htpassword
location ~ /\.ht {
deny all;
}
}
upstream backend {
server 127.0.0.1:9000;
}
Ok, terminamos aqui. Agora vamos instalar os arquivos necessários para o PHP.
Passo 2 - Instalando PHP
Muitos sites dependem do PHP para fornecer conteúdo dinâmico, seja isso um wiki, software de fórum, weblog ou algo totalmente diferente.
Não há necessidade de usar o DotDeb, já que o PHP5.3 agora é oficialmente suportado no Ubuntu Lucid (10.04). É tão fácil quanto
sudo apt-get updateO texto resultante deve incluir dotdeb.
Agora vamos instalar o PHP. Para instalar o PHP-FPM, teremos que adicionar o PPA, já que não é oficialmente suportado.
add-apt-repository ppa:brianmercer/phpsudo apt-get update && sudo apt-get install php5-fpmSe você planeja usar um banco de dados ou requer módulos específicos (mcrypt, ldap, snmp etc), você pode instalá-los também.
Ok, agora temos nginx e PHP instalados e prontos para funcionar.
Passo 3 - Finalizando
Reinicie o nginx para que ele reconheça as alterações de configuração que fizemos anteriormente.
sudo service nginx restartO reinício deve ter ocorrido sem problemas.
Após instalar o php5-fpm, ele deve ter sido iniciado. Se você alterou seus arquivos php.ini, você deve reiniciar o php5-fpm.
sudo service php5-fpm restartTudo certo. Agora eles devem estar rodando.
Passo 4 - Testando
Para testar se a execução do PHP está funcionando, crie um arquivo index.php em /var/www com o seguinte conteúdo:
Visite seu servidor web e você deve ser capaz de ver o phpinfo gerado. Se não, algo deu errado.
Passo 5 - Solução de Problemas & Notas Finais
Se você não viu o phpinfo, pode haver algo errado. Para descobrir o que deu errado, você pode verificar o log de erros do nginx:
sudo tail /var/log/nginx/error.logLembre-se, se você alterou seu php.ini, você deve reiniciar o php5-fpm. Reiniciar o nginx não é necessário.
No meu exemplo de configuração, ativei a interceptação de erros fastcgi. Se um erro sério ocorrer (por exemplo, um “não é possível redeclarar a classe xyz”), o nginx pode capturar essa página e mostrar uma página de erro “bonita” que algo deu errado. Dessa forma, há menos informações divulgadas caso algo esteja realmente errado.
Se você não gosta disso, pode desativar.
Se o php5-fpm não estiver rodando, seus arquivos PHP não podem ser analisados e o nginx mostrará ao usuário uma página de erro.
Bem, acho que terminamos e agora você pode servir PHP com seu novo servidor web baseado em nginx. O Nginx é muito bom e você pode configurar muito. Se você precisar de reescritas, esteja ciente de que o nginx não funciona com arquivos .htaccess. Você precisará alterar suas configurações de vhost para que as reescritas funcionem.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.