Pressione enter para ver os resultados ou esc para cancelar.

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

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

ssh -i minhachave.pem ec2-user@ip

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:

sudo -s

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

yum -y update
ln -sf /usr/share/zoneinfo/America/Cuiaba /etc/localtime

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

yum install -y nginx php-fpm

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

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

4. Instalar o PHP APC (Alternative PHP Cache)

yum install -y php-pecl-apc

5. Configurando o Nginx

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

cd /etc/nginx/conf.d/
cp virtual.conf virtual.conf.bkp
vim /etc/nginx/conf.d/virtual.conf

Deixe assim:

#
# 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;
    }
}

6. Configurar o PHP-FPM

Vamos fazer backup e editar o arquivo www.conf

cd /etc/php-fpm.d/
cp www.conf www.conf.bkp
vim www.conf

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

;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

7. Iniciando o PHP-FPM e o Nginx

service php-fpm start
service nginx start

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.

chkconfig nginx on
chkconfig php-fpm on

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