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 nginx

O vhost padrão precisa ser alterado para funcionar corretamente.

sudo vim /etc/nginx/sites-available/default

Um 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 update

O 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/php
sudo apt-get update && sudo apt-get install php5-fpm

Se 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 restart

O 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 restart

Tudo 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.log

Lembre-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.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.