Como instalar o Nginx + PHP + MySql no Ubuntu

Hoje uma dica bem simples: como instalar o Nginx (Servidor WEB) + PHP e MySql no Ubuntu.

O Nginx (Pronuncia Engine-x) é um concorrente do Apache para servir páginas web. Para servir páginas estáticas, sem dúvidas é muito melhor que o Apache e tem um ganho com páginas dinâmicas também (Apache vs Nginx). O que pude comprovar é o uso de memória, por exemplo, o Nginx usa bem menos e o tempo de reposta é bem menor quando comparado ao Apache. Vamos lá.

O primeiro passo é Instalar o Nginx:

sudo apt-get install nginx

A versão no repositório oficial do Ubuntu é um pouco desatualizada, mas irá funcionar muito bem pra esse tutorial

Depois de instalado, basta iniciar o serviço:

/etc/init.d/nginx start

A página de boas vindas é a seguinte:

nginx-imagen-inicial

Welcome to nginx

Pra instalar o PHP é tão simples quanto o Nginx:

apt-get install php5-fpm

O Php FPM é o interpretador utilizado para os códigos PHP. Mais sobre PHP FPM

Pra integrar o Nginx com o PHP temos que por a mão na massa, é necessário alterar um arquivo de configuração:

/etc/nginx/sites-available/default

Pra configuração básica, é preciso fazer duas pequenas alterações:

No começo do arquivo, precisamos adicionar index.php entre index e index.html, ficando assim:

index index.php index.html index.htm

e mais abaixo, basta “descomentar” algumas linhas, onde começa o location  ~* .php

, ficando assim:

location ~* .php$ {
                fastcgi_split_path_info ^(.+.php)(/.+)$;
                # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

                # With php5-cgi alone:
        #       fastcgi_pass 127.0.0.1:9000;
                # With php5-fpm:
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }

Agora que está tudo configurado, é preciso reiniciar o Nginx:

/etc/init.d/nginx restart

Pra verificarmos se está tudo funcionando, criamos um arquivo na pasta publica do Nginx (/usr/share/nginx/html) chamado info.php, com o conteúdo abaixo:

<?php
        phpinfo();
?>

Acessar por http://localhost/info.php E o resultado, claro:

phpinfo-nginx

PHP info no Nginx

Tudo funcionando, agora é hora de instalar o MySQL, mesmo comando simples de sempre:

apt-get install mysql-server mysql-client php5-mysql

Para verificar se o MySql está corretamente instalado basta acessar novamente http://localhost/info.php e procurar por MySql, o resultado deve ser igual o abaixo:

phpinfor-mysql-nginx

PHP info Nginx

Agora é só se divertir, até mais!!

Bonus

Como usar o apt-get

Sobre o Nginx

CodeIgniter no Nginx

comments powered by Disqus