Instalar e Configurar NGINX e PHP-FPM no EC2 da Amazon

Escrito por

em

Estou configurando o NGINX em uma instância EC2 com Amazon Linux AMI 64 bits, como mostrado abaixo. O plano que iniciei para realizar as configurações é o gratuito mesmo que a Amazon libera por um ano.

EC2 AWS Amazon Linux AMI de 64 bits

Depois de ter criado a instância, levantado o servidor e feito o download da chave (.pem), vamos conectar no servidor via terminal. Obs: Recomendo você alocar um endereço de IP, indo no próprio painel no menu a esquerda em Elastic IPs e clicar em Allocate New Address e depois Associate Address

[sourcecode language=”bash”]
ssh -i minhachave.pem ec2-user@ip
[/sourcecode]

Se houver problemas com permissões na sua chave, como por exemplo obter a mensagem Permissions 0664 for ‘minhachave.pem’ are too open. Um simples chmod 400 minhachave.pem resolve o problema.

Assim que conseguir conectar, vamos mudar para o super usuário com o seguinte comando:

[sourcecode language=”bash”]
sudo -s
[/sourcecode]

1. Vamos atualizar o linux e ajustar configurações de tempo

[sourcecode language=”bash”]
yum -y update
ln -sf /usr/share/zoneinfo/America/Cuiaba /etc/localtime
[/sourcecode]

2. Instalar o servidor web Nginx e o PHP-FPM

[sourcecode language=”bash”]
yum install -y nginx php-fpm
[/sourcecode]

3. Instalar as extensões necessárias para o Magento e outras extensões comuns

[sourcecode language=”bash”]
yum install -y php-devel php-mysql php-pdo php-pear php-mbstring php-cli php-odbc php-imap php-gd php-xml php-soap php-mcrypt
[/sourcecode]

4. Instalar o PHP APC (Alternative PHP Cache)

[sourcecode language=”bash”]
yum install -y php-pecl-apc
[/sourcecode]

5. Configurando o Nginx

Faça backup e edite o arquivo /etc/nginx/conf.d/virtual.conf

[sourcecode language=”bash”]
cd /etc/nginx/conf.d/
cp virtual.conf virtual.conf.bkp
vim /etc/nginx/conf.d/virtual.conf
[/sourcecode]

Deixe assim:

[sourcecode language=”bash”]
#
# A virtual host using mix of IP-, name-, and port-based configuration
#

server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;

location / {
root /usr/share/nginx/html;
index index.php index.html index.htm;
}

location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
}
[/sourcecode]

6. Configurar o PHP-FPM

Vamos fazer backup e editar o arquivo www.conf

[sourcecode language=”bash”]
cd /etc/php-fpm.d/
cp www.conf www.conf.bkp
vim www.conf
[/sourcecode]

Altere os seguintes parâmetros/blocos, deixando-os assim:

[sourcecode language=”bash”]
;listen = 127.0.0.1:9000
listen = /var/run/php-fpm/php-fpm.sock
 
listen.owner = nginx
;listen.group = nobody
listen.mode = 0664
 
; RPM: apache Choosed to be able to access some dir as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
[/sourcecode]

7. Iniciando o PHP-FPM e o Nginx

[sourcecode language=”bash”]
service php-fpm start
service nginx start
[/sourcecode]

A esta altura, já temos nosso servidor funcionando e rodando páginas php. Agora vamos fazer com que eles sejam iniciados automaticamente quando nosso servidor for ligado.

[sourcecode language=”bash”]
chkconfig nginx on
chkconfig php-fpm on
[/sourcecode]

É isso aí! Espero que este tutorial tenha ajudado você a instalar e Configurar NGINX e PHP-FPM no EC2 da Amazon. Como sempre, se você achou esta postagem útil, inscreva-se em nossa newsletter gratuita ou siga-nos no Instagram @douglasvillar, conecte comigo no Linkedin e curta nossa página no Facebook.

Comentários

5 respostas a “Instalar e Configurar NGINX e PHP-FPM no EC2 da Amazon”

  1. Avatar de Mauro Cury
    Mauro Cury

    Excelente Douglas, gosto de posts como o seu: objetivo e preciso. Obrigado !

    1. Avatar de douglasvillar
      douglasvillar

      Obrigado Mauro, qualquer dúvida me deixe saber!

  2. Avatar de Hallan
    Hallan

    Seu blog está sendo bastante útil, os passos que você descreveu me ajudarão muito.
    Muito obrigado, Deus lhe abençoe.

    Por favor continue com o blog.

    1. Avatar de douglasvillar
      douglasvillar

      Obrigado Hallan, qualquer dúvida me deixe saber!

  3. Avatar de Vinícius Thiengo
    Vinícius Thiengo

    Congrats, man!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.