Tempo de leitura: 5 minutos

LEMP (Linux, nginx, MySQL e PHP) no Linux da DigitalOcean
LEMP é a Stack mais leve para ambientes Cloud Computing.
Já vimos como aprender cloud computing com a DigitalOcean e também ja aprendemos como instalar o LAMP no Linux da DigitalOcean e agora vamos aprender como instalar o LEMP.
Como já sabem, na DigitalOcean, se você se cadastrar por este link, você ganha $ 10,00.
Além disso você já sabe que minha escolha de distribuição Linux na DigitalOcean tem sido o Ubuntu Server. Porém você pode usar este artigo para instalar o LEMP em outra distribuição Linux, porém atente-se ao seu gerenciador de pacotes (apt ou yum) e aos diretórios de instalação das ferramentas.
Inicialmente eu usava o LAMP para meu site pessoal, porém, mesmo pra um site com baixo numero de acessos, o consumo da instancia era sempre alto. Meu NewRelic não parava de alarmar. Então eu fiz a migração para LEMP e esta pilha de soluções se mostrou muito mais leve e adequada para a menor instancia da DigitalOcean, suportando inclusive, múltiplos sites.
Mãos na massa!
Como dito, o LEMP é uma pilha, stack, conjunto de soluções open source mais usado para servidores web. É uma abreviação para Linux, nginx (pronuncia-se Engine X), Mysql e PHP.
Pré requisitos?
Espero que você já tenha sua droplet, ou servidor, preparado e acessível na DigitalOcean.
Como boa pratica eu sempre atualizo os repositórios do Linux para sempre pegar a ultima versão dos softwares que instalo. Isso ajuda a estarmos com as ultimas correções, principalmente as de vulnerabilidades.
sudo apt-get update
Vamos começar a instalando o MySQL no Ubuntu Server;
sudo apt-get install mysql-server php5-mysql
Durante a instalação, seremos questionados sobre a senha do usuário root do Mysql. Defina uma, e caso queira futuramente troca-la, é simples.
Depois de instalado, vamos ativa-lo;
sudo mysql_install_db
E agora vamos iniciar o processo de instalação segura do MySQL.
sudo /usr/bin/mysql_secure_installation
Feito, nosso Mysql esta seguro.
Vamos instalar o Nginx no Ubuntu Server da DigitalOcean.
echo "deb http://ppa.launchpad.net/nginx/stable/ubuntu $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/nginx-stable.list sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C300EE8C sudo apt-get update sudo apt-get install nginx
Muito bem, porém o Nginx não esta iniciado, então basta digitar o seguinte comando:
sudo service nginx start
Se você acessar o ip publico da sua instancia, será apresentado a tela de boas vindas do nginx.

Agora vamos fazer uns ajustes no PHP:
Abra o arquivo php.ini
sudo vim /etc/php5/fpm/php.ini
Procure pela linha cgi.fix_pathinfo=1 e altera de 1 para 0.
cgi.fix_pathinfo=0
Se mantermos 1 o interpretador irá buscar o arquivo solicitado em paths proximos ao informado, caso ele não encontre no caminho informado. Alterando para 0 garantimos que o interpretador só irá devolver arquivos com o path informado corretamente. É uma questão de segurança. Salve e feche a edição do arquivo.
A próxima alteração é no arquivo www.conf.
sudo vim /etc/php5/fpm/pool.d/www.conf
Procure pela linha listen = 127.0.0.1:9000, e altere o 127.0.0.1:9000 para
/var/run/php5-fpm.sock.
Salve e feche a edição do arquivo.
Reinicie o php-fpm:
sudo service php5-fpm restart
Depois de ajustarmos o PHP-FPM vamos ao Nginx
Abra o arquivo default do virtual host:
sudo vim /etc/nginx/sites-available/default
ATENÇÃO: Versões novas do Ubuntu Server criam um diretório chamado ‘html‘ ao invés de ‘www‘ que vinha sendo o default. Caso /usr/share/nginx/www não existir, provavelmente ele se chama html.
Deixe seu arquivo como este abaixo:
server { listen 80;
root /usr/share/nginx/www; index index.php index.html index.htm;
server_name seuendereco.com.br;
location / { try_files $uri $uri/ /index.html; }
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/www; }
# pass the PHP scripts to FastCGI server listening on the php-fpm socket location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
}
Vamos aos detalhes:
- Adicionamos o index.php na linha de indices;
- Altere o server_name para o nome do site, ou pelo ip;
- Alteramos as linhas em “location ~ \.php$ {“ section, para procesar o php-fpm;
Salve e feche a edição.
Agora vamos testar!!
Crie um arquivo info.php no root do site:
sudo vim /usr/share/nginx/www/info.php
Adicione estas linhas:
<?php phpinfo(); ?>
Então salve e feche.
Por fim, reinicie o nginx:
sudo service nginx restart
Acesse novamente seu ip publico e você estar vendo uma pagina semelhante a esta:

Parabéns, seu LEMP está instalado no Linux da DigitalOCean.
Não se esqueça de remover o arquivo, afinal ele expõe detalhes de todo seu ambiente e alguma pessoa mal intencionada pode se aproveitar de possiveis falhas nas ferramentas listadas.
sudo rm /usr/share/nginx/www/info.php
Venha Aprender Cloud Computing com agente: Cadastre seu email e receba as novidades diretamente no seu email.
Insira o seu endereço de email abaixo para receber gratuitamente as atualizações do blog!
Fique tranquilo, seu e-mail está completamente <strong>SEGURO</strong> conosco!