Categoria: Servidor

  • Como instalar e executar várias versões do PHP no Ubuntu

    Nesse post iremos instalar duas versões do PHP, 7.4 e o 7.2 e configurar no bloco do Servidor Web NGINX.

    Como instalar e executar várias versões do PHP no Ubuntu utilizando Servidor Web NGINX?

    [sourcecode language=”bash”]
    sudo apt install software-properties-common
    [/sourcecode]

    [sourcecode language=”bash”]
    sudo add-apt-repository ppa:ondrej/php
    [/sourcecode]

    Para instalar o php 7.4 iremos executar os comandos abaixo:

    [sourcecode language=”bash”]
    sudo apt install php7.4-fpm
    [/sourcecode]

    [sourcecode language=”bash”]
    sudo apt install libapache2-mod-php7.4 php7.4-cli php7.4-mysql php7.4-gd php7.4-imagick php7.4-tidy php7.4-xmlrpc php7.4-common php7.4-xml php7.4-curl php7.4-dev php7.4-imap php7.4-mbstring php7.4-opcache php7.4-soap php7.4-zip php7.4-intl -y
    [/sourcecode]

    Para instalar o php 7.2 iremos executar os comandos abaixo:

    [sourcecode language=”bash”]
    sudo apt install php7.2-fpm
    [/sourcecode]

    [sourcecode language=”bash”]
    sudo apt install libapache2-mod-php7.2 php7.2-cli php7.2-mysql php7.2-gd php7.2-imagick php7.2-tidy php7.2-xmlrpc php7.2-common php7.2-xml php7.2-curl php7.2-dev php7.2-imap php7.2-mbstring php7.2-opcache php7.2-soap php7.2-zip php7.2-intl -y
    [/sourcecode]

    Trocando a versão do PHP no bloco do servidor Ngnix

    É muito fácil configurar o bloco do servidor Ngnix para a versão do php que instalamos. Como você sabe, o Ngnix executa o código PHP via PHP-FPM, que escuta um soquete Unix. O arquivo de soquete está localizado em /run/php/

    Resultado /run/php/

    Como podem ver no exemplo acima, há vários arquivos de soquete PHP-FPM em meu servidor correspondente as duas versões do PHP.
    No arquivo do bloco do servidor Nginx normalmente tem o seguinte snippet para se conectar ao servidor PHP-FPM.
    Para acessar o bloco vá em /etc/nginx/sites-available/ e edite o bloco do seu site:

    [sourcecode language=”bash”]
    server {
    listen 80;
    root /usr/share/nginx/sites/douglasvillar.com;
    index index.php index.html index.htm;
    server_name douglasvillar.com www.douglasvillar.com;
    location / {
    try_files $uri $uri/ =404;
    }
    location ~ \.php$ {
    try_files $uri =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php7.4-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }
    }
    [/sourcecode]

    A versão do PHP usada pelo Nginx é determinada pela linha 11 do snippet dentro de location. Para utilizar a versão PHP 7.2 no seu bloco altere a linha da seguinte forma:

    [sourcecode language=”bash”]
    location ~ \.php$ {
    try_files $uri =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php7.2-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }
    [/sourcecode]

    Depois de fazer a alteração no bloco do seu site, salve e feche o arquivo e vamos precisar recarregar nosso servidor nginx:

    [sourcecode language=”bash”]
    sudo systemctl reload nginx
    [/sourcecode]

    É isso aí! Espero que este tutorial tenha ajudado você a executar várias versões do PHP no Ubuntu com Nginx. 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.

  • Como instalar Varnish Cache no CPANEL (WHM) com CentOS

    É muito simples fazer essa instalação, só precisa de atenção ao copiar os códigos e nas versões dos programas utilizados.

    O CentOS que estou utilizando está na versão 6.9, o CPANEL (WHM) 66.0.24 e o Varnish Cache 5.2.0.

    Para você que ainda está se perguntando, mas o que é Varnish Cache? Em poucas palavras ele é um acelerador web ou um proxy reverso http, que aumentará significativamente o desempenho do seu projeto, seja site, ecommerce ou sistema.

    Basicamente o Varnish, armazena uma cópia da página solicitada pelo servidor web a primeira vez que o usuário visita essa página. Na próxima vez que o usuário solicitar a mesma página, o Varnish será consultado ao invés do servidor web. Isso significa que seu servidor web, irá lidar com menos tráfego, desempenho e escalabilidade, deixando seu projeto até 300x mais rápido.

    Depois de toda explicação do meu ambiente e o que é esse tal de varnish, vamos implementa-ló?

    Como instalar o Varnish Cache?

    1. Configurar apache para ouvir outra porta;

    O primeiro passo é alterar a porta padrão que o servidor web escuta, nesse caso estamos utilizando o apache, vamos alterar para a porta 8080, você pode fazer de duas formas, com o comando abaixo:

    [sourcecode language=”bash”]
    vi /etc/httpd/conf/httpd.conf
    [/sourcecode]

    Ou acessando o painel do WHM, do lado direito, Configuração do Servidor -> Ajustar configurações, no campo de pesquisa, procurar por Apache non-SSL IP/port e alterar para 0.0.0.0:8080

    2. Instalar o Varnish Cache;

    Depois de alterado vamos iniciar a instalação do Varnish:

    [sourcecode language=”bash”]
    yum install varnish
    [/sourcecode]

    Caso de algum erro iremos precisar instalar manualmente com o comando abaixo:

    [sourcecode language=”bash” wraplines=”1″]
    curl -s https://packagecloud.io/install/repositories/varnishcache/varnish5/script.rpm.sh | sudo bash
    [/sourcecode]

    Ou com esse código:

    [sourcecode language=”bash”]
    #!/bin/bash

    unknown_os ()
    {
    echo "Unfortunately, your operating system distribution and version are not supported by this script."
    echo
    echo "You can override the OS detection by setting os= and dist= prior to running this script."
    echo "You can find a list of supported OSes and distributions on our website: https://packagecloud.io/docs#os_distro_version"
    echo
    echo "For example, to force CentOS 6: os=el dist=6 ./script.sh"
    echo
    echo "Please email [email protected] and let us know if you run into any issues."
    exit 1
    }

    curl_check ()
    {
    echo "Checking for curl…"
    if command -v curl > /dev/null; then
    echo "Detected curl…"
    else
    echo "Installing curl…"
    yum install -d0 -e0 -y curl
    fi
    }

    detect_os ()
    {
    if [[ ( -z "${os}" ) && ( -z "${dist}" ) ]]; then
    if [ -e /etc/os-release ]; then
    . /etc/os-release
    os=${ID}
    if [ "${os}" = "poky" ]; then
    dist=`echo ${VERSION_ID}`
    elif [ "${os}" = "sles" ]; then
    dist=`echo ${VERSION_ID}`
    elif [ "${os}" = "opensuse" ]; then
    dist=`echo ${VERSION_ID}`
    else
    dist=`echo ${VERSION_ID} | awk -F ‘.’ ‘{ print $1 }’`
    fi

    elif [ `which lsb_release 2>/dev/null` ]; then
    # get major version (e.g. ‘5’ or ‘6’)
    dist=`lsb_release -r | cut -f2 | awk -F ‘.’ ‘{ print $1 }’`

    # get os (e.g. ‘centos’, ‘redhatenterpriseserver’, etc)
    os=`lsb_release -i | cut -f2 | awk ‘{ print tolower($1) }’`

    elif [ -e /etc/oracle-release ]; then
    dist=`cut -f5 –delimiter=’ ‘ /etc/oracle-release | awk -F ‘.’ ‘{ print $1 }’`
    os=’ol’

    elif [ -e /etc/fedora-release ]; then
    dist=`cut -f3 –delimiter=’ ‘ /etc/fedora-release`
    os=’fedora’

    elif [ -e /etc/redhat-release ]; then
    os_hint=`cat /etc/redhat-release | awk ‘{ print tolower($1) }’`
    if [ "${os_hint}" = "centos" ]; then
    dist=`cat /etc/redhat-release | awk ‘{ print $3 }’ | awk -F ‘.’ ‘{ print $1 }’`
    os=’centos’
    elif [ "${os_hint}" = "scientific" ]; then
    dist=`cat /etc/redhat-release | awk ‘{ print $4 }’ | awk -F ‘.’ ‘{ print $1 }’`
    os=’scientific’
    else
    dist=`cat /etc/redhat-release | awk ‘{ print tolower($7) }’ | cut -f1 –delimiter=’.’`
    os=’redhatenterpriseserver’
    fi

    else
    aws=`grep -q Amazon /etc/issue`
    if [ "$?" = "0" ]; then
    dist=’6′
    os=’aws’
    else
    unknown_os
    fi
    fi
    fi

    if [[ ( -z "${os}" ) || ( -z "${dist}" ) ]]; then
    unknown_os
    fi

    # remove whitespace from OS and dist name
    os="${os// /}"
    dist="${dist// /}"

    echo "Detected operating system as ${os}/${dist}."
    }

    finalize_yum_repo ()
    {
    echo "Installing pygpgme to verify GPG signatures…"
    yum install -y pygpgme –disablerepo=’varnishcache_varnish5′
    pypgpme_check=`rpm -qa | grep -qw pygpgme`
    if [ "$?" != "0" ]; then
    echo
    echo "WARNING: "
    echo "The pygpgme package could not be installed. This means GPG verification is not possible for any RPM installed on your system. "
    echo "To fix this, add a repository with pygpgme. Usualy, the EPEL repository for your system will have this. "
    echo "More information: https://fedoraproject.org/wiki/EPEL#How_can_I_use_these_extra_packages.3F"
    echo

    # set the repo_gpgcheck option to 0
    sed -i” ‘s/repo_gpgcheck=1/repo_gpgcheck=0/’ /etc/yum.repos.d/varnishcache_varnish5.repo
    fi

    echo "Installing yum-utils…"
    yum install -y yum-utils –disablerepo=’varnishcache_varnish5′
    yum_utils_check=`rpm -qa | grep -qw yum-utils`
    if [ "$?" != "0" ]; then
    echo
    echo "WARNING: "
    echo "The yum-utils package could not be installed. This means you may not be able to install source RPMs or use other yum features."
    echo
    fi

    echo "Generating yum cache for varnishcache_varnish5…"
    yum -q makecache -y –disablerepo=’*’ –enablerepo=’varnishcache_varnish5′
    }

    finalize_zypper_repo ()
    {
    zypper –gpg-auto-import-keys refresh varnishcache_varnish5
    }

    main ()
    {
    detect_os
    curl_check

    yum_repo_config_url="https://packagecloud.io/install/repositories/varnishcache/varnish5/config_file.repo?os=${os}&dist=${dist}&source=script"

    if [ "${os}" = "sles" ] || [ "${os}" = "opensuse" ]; then
    yum_repo_path=/etc/zypp/repos.d/varnishcache_varnish5.repo
    else
    yum_repo_path=/etc/yum.repos.d/varnishcache_varnish5.repo
    fi

    echo "Downloading repository file: ${yum_repo_config_url}"

    curl -sSf "${yum_repo_config_url}" > $yum_repo_path
    curl_exit_code=$?

    if [ "$curl_exit_code" = "22" ]; then
    echo
    echo
    echo -n "Unable to download repo config from: "
    echo "${yum_repo_config_url}"
    echo
    echo "This usually happens if your operating system is not supported by "
    echo "packagecloud.io, or this script’s OS detection failed."
    echo
    echo "You can override the OS detection by setting os= and dist= prior to running this script."
    echo "You can find a list of supported OSes and distributions on our website: https://packagecloud.io/docs#os_distro_version"
    echo
    echo "For example, to force CentOS 6: os=el dist=6 ./script.sh"
    echo
    echo "If you are running a supported OS, please email [email protected] and report this."
    [ -e $yum_repo_path ] && rm $yum_repo_path
    exit 1
    elif [ "$curl_exit_code" = "35" -o "$curl_exit_code" = "60" ]; then
    echo
    echo "curl is unable to connect to packagecloud.io over TLS when running: "
    echo " curl ${yum_repo_config_url}"
    echo
    echo "This is usually due to one of two things:"
    echo
    echo " 1.) Missing CA root certificates (make sure the ca-certificates package is installed)"
    echo " 2.) An old version of libssl. Try upgrading libssl on your system to a more recent version"
    echo
    echo "Contact [email protected] with information about your system for help."
    [ -e $yum_repo_path ] && rm $yum_repo_path
    exit 1
    elif [ "$curl_exit_code" -gt "0" ]; then
    echo
    echo "Unable to run: "
    echo " curl ${yum_repo_config_url}"
    echo
    echo "Double check your curl installation and try again."
    [ -e $yum_repo_path ] && rm $yum_repo_path
    exit 1
    else
    echo "done."
    fi

    if [ "${os}" = "sles" ] || [ "${os}" = "opensuse" ]; then
    finalize_zypper_repo
    else
    finalize_yum_repo
    fi

    echo
    echo "The repository is setup! You can now install packages."
    }

    main
    [/sourcecode]

     

    3. Editar as configurações do Varnish Cache;

    [sourcecode]vi /etc/sysconfig/varnish[/sourcecode]

    Iremos configurar o Varnish para escutar a porta 80, ficando assim: VARNISH_LISTEN_PORT=80

    [sourcecode]vi /etc/varnish/default.vcl[/sourcecode]

    Com o comando acima, iremos configurar o proxy, com o IP dedicado do seu servidor e a porta do servidor web (apache), deverá ficar da seguinte forma:

    [sourcecode]
    backend default {
    .host = "184.82.165.4";
    .port = "8080";
    }
    [/sourcecode]

    4. Iniciar o serviço do Varnish Cache;

    [sourcecode]
    chkconfig varnish on
    service varnish start
    [/sourcecode]

    5. Fim :D;

    Se você chegou até aqui é porque deu tudo certo, ou ao menos esperamos né, hehe…

    Para monitorar o seu Varnish Cache utilize o comando:

    [sourcecode] varnishstat [/sourcecode]

    Dúvidas?

    Espero que este tutorial tenha ajudado você a instalar o Varnish Cache no CPANEL (WHM). 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.

  • Instalar PageSpeed e configurar para iniciar com o NGINX no EC2 da Amazon

    Depois de termos instalado e configurado o NGINX e PHP-FPM no EC2 da Amazon vamos ver agora como instalar o PageSpeed e configurar para iniciar com o NGINX.

    1. Vamos instalar as dependências:

    [sourcecode language=”bash”]
    yum install gcc-c++ pcre-dev pcre-devel zlib-devel make
    [/sourcecode]

    2. Download ngx_pagespeed:

    [sourcecode language=”bash”]
    cd ~
    wget https://github.com/pagespeed/ngx_pagespeed/archive/v1.8.31.2-beta.zip
    unzip v1.8.31.2-beta.zip
    cd ngx_pagespeed-1.8.31.2-beta/
    wget https://dl.google.com/dl/page-speed/psol/1.8.31.2.tar.gz
    tar -xzvf 1.8.31.2.tar.gz
    [/sourcecode]

    3. Download and build nginx:

    [sourcecode language=”bash”]
    cd ~
    # check http://nginx.org/en/download.html for the latest version
    wget http://nginx.org/download/nginx-1.6.0.tar.gz
    tar -xvzf nginx-1.6.0.tar.gz
    cd nginx-1.6.0/
    [/sourcecode]

    [sourcecode language=”bash”]
    ./configure –prefix=/usr/share/nginx –sbin-path=/usr/sbin/nginx –conf-path=/etc/nginx/nginx.conf –error log-path=/var/log/nginx/error.log –http-log-path=/var/log/nginx/access.log –http-client-body-temp path=/var/lib/nginx/tmp/client_body –http-proxy-temp-path=/var/lib/nginx/tmp/proxy –http-fastcgi-temp path=/var/lib/nginx/tmp/fastcgi –http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi –http-scgi-temp path=/var/lib/nginx/tmp/scgi –pid-path=/var/run/nginx.pid –lock-path=/var/lock/subsys/nginx –user=nginx group=nginx –add-module=../ngx_pagespeed-1.8.31.2-beta
    [/sourcecode]

    [sourcecode language=”bash”]
    make
    make install
    [/sourcecode]

    3. Agora vamos configurar o PageSpeed para iniciar com o NGINX:

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

    Adicione dentro do bloco server, o código abaixo:

    [sourcecode language=”bash”]
    pagespeed on;
    pagespeed FileCachePath /var/ngx_pagespeed_cache;
    location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" { add_header "" ""; }
    location ~ "^/ngx_pagespeed_static/" { }
    location ~ "^/ngx_pagespeed_beacon$" { }
    location /ngx_pagespeed_statistics { allow 127.0.0.1; deny all; }
    location /ngx_pagespeed_global_statistics { allow 127.0.0.1; deny all; }
    location /ngx_pagespeed_message { allow 127.0.0.1; deny all; }
    location /pagespeed_console { allow 127.0.0.1; deny all; }
    [/sourcecode]

    Depois reinicie o NGINX;

    [sourcecode language=”bash”]
    service nginx restart
    [/sourcecode]

    4. Testar PageSpeed:

    [sourcecode language=”bash”]
    curl -I ‘http://www.seudominio.com.br’ | grep X-Page-Speed
    [/sourcecode]

    É isso ae, temos o PageSpeed instalado e configurado em um servidor EC2 da Amazon, próximos post teremos outros módulos que vai nos ajudar a deixar nossa loja virtual Magento mais rápida e depois vamos instalar o tão esperado magento;

    Valeu!

  • Instalar, configurar e otimizar o Varnish Cache no EC2 da Amazon

    Depois de termos instalado e configurado o NGINX e PHP-FPM no EC2 da Amazon vamos ver agora como instalar, configurar e otimizar o Varnish Cache.

    1. Vamos instalar o varnish no EC2 da Amazon:

    Execute o seguinte comando:

    [sourcecode language=”bash”]
    yum install varnish
    [/sourcecode]

    2. Vamos reiniciar e iniciar os seviços:

    Execute o seguinte comando:

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

    2. Vamos adicionar o Varnish para que inicie de forma automática:

    Execute o comando abaixo e procure por Varnish e marque-o, para que sempre quando o server for reiniciado, inicie de forma automática.

    [sourcecode language=”bash”]
    ntsysv
    [/sourcecode]

    2. Vamos configurar o Varnish:

    Execute o comando abaixo e altere a porta do bloco server listen 80 para listen 8080

    [sourcecode language=”bash”]
    vim /etc/nginx/conf.d/default.conf
    [/sourcecode]

    Execute o comando abaixo e altere a porta do bloco server listen 80 para listen 8080

    [sourcecode language=”bash”]
    vim /etc/nginx/nginx.conf
    [/sourcecode]

    Execute o comando abaixo e altere VARNISH_LISTEN_PORT para VARNISH_LISTEN_PORT=80

    [sourcecode language=”bash”]
    vim /etc/sysconfig/varnish
    [/sourcecode]

    Execute o comando abaixo e altere port do backend default para 8080 e dentro da tag backend adicione .max_connections = 30;

    [sourcecode language=”bash”]
    vim /etc/varnish/default.vcl
    [/sourcecode]

    Por fim

    [sourcecode language=”bash”]
    service nginx restart
    service varnish restart
    [/sourcecode]

    Bem pessoal é isso por enquanto, depois vamos ver como instalar e configurar outros módulos até a instalação tão esperada do Magento.

    Espero que este tutorial tenha ajudado você a instalar, configurar e otimizar o Varnish Cache 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.

  • Instalar o Percona Server no EC2 da Amazon

    Depois de termos instalado e configurado o NGINX e PHP-FPM no EC2 da Amazon vamos ver agora como instalar o Percona Server.

    1. Vamos baixar e instalar os arquivos em nosso servidor;

    Execute um comando de cada vez.

    [sourcecode language=”bash”]
    yum install http://www.percona.com/downloads/percona-release/percona-release-0.0-1.x86_64.rpm
    yum install Percona-Server-server-55.x86_64
    yum install Percona-Server-client-55.x86_64
    [/sourcecode]

    2. Bem agora já temos o Percona instalado, vamos então as configurações!

    Entre em “etc”;

    [sourcecode language=”bash”]
    cd /etc/
    [/sourcecode]

    Verifique se existe o arquivo chamado my.conf, e se não existir crie o arquivo my.conf com o comando $touch my.conf
    E adicione o conteúdo abaixo dentro do arquivo my.conf:

    [sourcecode language=”bash”]
    [mysqld]
    server-id=15
    tmpdir=/dev/shm
    datadir=/srv/mysql
    user=mysql
    innodb_file_per_table = 1
    max_connections = 300
    innodb_flush_method = O_DIRECT
    [/sourcecode]

    3. Agora vamos criar as pastas de instalação do MySQL e instalar;

    [sourcecode language=”bash”]
    mkdir /srv/mysql  
    chown mysql:mysql /srv/mysql/ 
    mysql_install_db –datadir=/srv/mysql
    [/sourcecode]

    Para iniciar o Percona podemos executar o comando $service mysql start ou $/etc/init.d/mysql start

    4. Agora vamos adicionar um usuário com senha para acesso ao banco de dados;

    Criaremos um usuário com o nome de root e uma senha 654321;

    [sourcecode language=”bash”]
    mysqladmin -u root password "654321"
    [/sourcecode]

    Vamos conectar em nosso banco de dados e executar os seguintes comandos;

    [sourcecode language=”bash”]
    mysql -u root -p654321
    UPDATE user SET Password=PASSWORD("654321") WHERE User="root";
    GRANT ALL ON *.* TO "root"@"%" IDENTIFIED BY "65432";
    FLUSH PRIVILEGES;
    [/sourcecode]

    5. Alguns comandos básicos do MysQL;

    Importante para os próximos passos de nosso tutorial.

    [sourcecode language=”bash”]
    create database magento;
    GRANT usage ON *.* TO douglasvillar@localhost IDENTIFIED BY "senha";
    GRANT usage ON *.* TO douglasvillar@"%" IDENTIFIED BY "senha";
    GRANT CREATE, ALTER, DROP, SELECT, INSERT, UPDATE, DELETE ON magento.* TO douglasvillar@localhost;
    GRANT CREATE, ALTER, DROP, SELECT, INSERT, UPDATE, DELETE ON mysql_bash.* TO douglasvillar@"%";
    flush privileges;
    [/sourcecode]

    Bem pessoal é isso por enquanto, depois vamos ver como instalar e configurar outros módulos até a instalação tão esperada do Magento.

    Espero que este tutorial tenha ajudado você a instalar o Percona Server 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.

  • 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

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