[No local]{class="badge informative" title="Aplicável somente a projetos locais do Adobe Commerce."}

Instalar o Nginx para implantações locais nginx

Este guia aborda a instalação de Nginx para implantações locais do Adobe Commerce e a definição das configurações de Nginx exigidas pelo Commerce. Ele inclui procedimentos específicos do sistema operacional para Ubuntu e CentOS, juntamente com orientações para a configuração do PHP-FPM. A Adobe recomenda seguir as instruções de configuração fornecidas neste guia para preservar a funcionalidade e a segurança do aplicativo do Commerce.

O Adobe oferece suporte às versões do Nginx listadas nos requisitos do sistema da sua versão do Adobe Commerce. As versões compatíveis variam de acordo com a versão. O Nginx também requer uma configuração PHP-FPM compatível. Para requisitos relacionados do PHP, consulte PHP.

Instalar no Ubuntu

Use esta seção para instalar o Adobe Commerce no Ubuntu com Nginx, PHP e MySQL.

Instalar Nginx

sudo apt -y install nginx

Você também pode compilar Nginx a partir da origem.

Após concluir as seções a seguir e instalar o aplicativo, use o arquivo de configuração de exemplo para configurar o Nginx. Essa configuração recomendada preserva a funcionalidade e a segurança do aplicativo do Commerce.

Instalar e configurar o PHP-FPM

O Adobe Commerce requer várias extensões PHP para funcionar corretamente. Além dessas extensões, você também deve instalar e configurar a extensão php-fpm se estiver usando o Nginx.

Para instalar e configurar o php-fpm:

  1. Instale os pacotes php-fpm e php-cli para a versão do PHP suportada pela sua versão do Adobe Commerce. No Ubuntu, os nomes dos pacotes normalmente seguem esse padrão:

    code language-bash
    apt-get -y install php<php-version>-fpm php<php-version>-cli
    
    note note
    NOTE
    Substitua <php-version> pela versão secundária do PHP com suporte listada em requisitos do sistema para a versão do Adobe Commerce que você está instalando. Use o mesmo valor nos caminhos de arquivo, nome de serviço e caminho de soquete nas etapas a seguir.
  2. Abrir os arquivos php.ini em um editor:

    code language-bash
    vim /etc/php/<php-version>/fpm/php.ini
    
    code language-bash
    vim /etc/php/<php-version>/cli/php.ini
    
  3. Edite ambos os arquivos para corresponder às seguintes linhas:

    code language-conf
    memory_limit = 2G
    max_execution_time = 1800
    zlib.output_compression = On
    
    note note
    NOTE
    A Adobe recomenda definir o limite de memória para 2 GB ao testar o Adobe Commerce. Consulte Configurações PHP necessárias para obter mais informações.
  4. Salve e saia do editor.

  5. Reiniciar o serviço php-fpm:

    code language-bash
    systemctl restart php<php-version>-fpm
    

Instalar e configurar o MySQL

Consulte MySQL para obter mais informações.

Instalar o Adobe Commerce

É possível baixar o Adobe Commerce de várias maneiras:

Este exemplo mostra uma instalação baseada no Composer usando a linha de comando.

  1. Como o proprietário do sistema de arquivos, faça logon no servidor de aplicativos.

  2. Altere para o diretório docroot do servidor Web ou um diretório que você configurou como docroot do host virtual. Para este exemplo, estamos usando o padrão Ubuntu /var/www/html.

    code language-bash
    cd /var/www/html
    
  3. Instale o Composer globalmente. O Composer é necessário para atualizar dependências antes de instalar o Adobe Commerce:

    code language-bash
    curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
    
  4. Crie um projeto do Composer usando o metapackage do Adobe Commerce.

    Magento Open Source

    code language-bash
    composer create-project --repository=https://repo.magento.com/ magento/project-community-edition <install-directory-name>
    

    Adobe Commerce

    code language-bash
    composer create-project --repository=https://repo.magento.com/ magento/project-enterprise-edition <install-directory-name>
    

    Quando solicitado, insira suas chaves de autenticação. Sua chave pública é seu nome de usuário; sua chave privada é sua senha.

  5. Defina permissões de leitura e gravação para o grupo de servidores Web antes de instalar o aplicativo. Isso é necessário para que a linha de comando possa gravar arquivos no sistema de arquivos.

    code language-bash
    cd /var/www/html/<magento install directory>
    
    code language-bash
    find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
    
    code language-bash
    find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
    
    code language-bash
    chown -R :www-data . # Ubuntu
    
    code language-bash
    chmod u+x bin/magento
    
  6. Instalar da linha de comando. Este exemplo pressupõe que o diretório de instalação seja nomeado como magento2ee e que o host do banco de dados esteja na mesma máquina (localhost):

    code language-bash
    bin/magento setup:install \
    --base-url=http://localhost/magento2ee \
    --db-host=localhost \
    --db-name=<db-name> \
    --db-user=<db-user> \
    --db-password=<db-password> \
    --backend-frontname=<backend-uri> \
    --admin-firstname=<admin-first-name> \
    --admin-lastname=<admin-last-name> \
    --admin-email=<admin-email> \
    --admin-user=<admin-user> \
    --admin-password=<admin-password> \
    --language=en_US \
    --currency=USD \
    --timezone=America/Chicago \
    --use-rewrites=1 \
    --search-engine=<search-engine-value> \
    --<search-engine-host-parameter>=search-host.example.com \
    --<search-engine-port-parameter>=9200
    
    note note
    NOTE
    Use o valor --search-engine e as opções de host/porta correspondentes exigidas pela versão do Adobe Commerce que você está instalando. Para versões anteriores à 2.4.6, use o elasticsearch7 com as opções --elasticsearch-* para o Elasticsearch 7 ou OpenSearch. Para a versão 2.4.6 e posterior, use o valor do mecanismo de pesquisa e as opções correspondentes da CLI compatíveis com essa versão.
  7. Alternar para modo de desenvolvedor:

    code language-bash
    cd /var/www/html/magento2/bin
    
    code language-bash
    ./magento deploy:mode:set developer
    

Configurar Nginx

A Adobe recomenda configurar o Nginx usando o arquivo de configuração nginx.conf.sample fornecido no diretório de instalação e a configuração do host virtual Nginx para preservar a funcionalidade e a segurança do aplicativo Commerce.

IMPORTANT
O arquivo nginx.conf.sample fornece o roteamento de aplicativo necessário, bem como regras de proteção de segurança. Por exemplo, ela restringe a execução de scripts mal-intencionados carregados no servidor. Se você não usar esse arquivo ou modificar suas regras, será responsável pela implementação de controles de segurança equivalentes na sua configuração personalizada do nginx.

Essas instruções supõem que você esteja usando o local padrão do Ubuntu para o host virtual Nginx, como /etc/nginx/sites-available, e o docroot padrão do Ubuntu, como /var/www/html. Você pode alterar esses locais para se adequar ao seu ambiente.

  1. Crie um novo host virtual para seu site:

    code language-bash
    vim /etc/nginx/sites-available/magento
    
  2. Adicione a seguinte configuração:

    code language-conf
    upstream fastcgi_backend {
      server  unix:/run/php/php<php-version>-fpm.sock;
    }
    
    server {
    
      listen 80;
      server_name www.magento-dev.com;
      set $MAGE_ROOT /var/www/html/magento2;
      include /var/www/html/magento2/nginx.conf.sample;
    }
    
    note note
    NOTE
    A diretiva include deve apontar para a amostra do arquivo de configuração nginx no diretório de instalação.
  3. Substitua www.magento-dev.com pelo nome de domínio. Deve corresponder ao URL de base especificado ao instalar o Adobe Commerce.

  4. Salve e saia do editor.

  5. Ative o host virtual recém-criado criando um link simbólico para ele no diretório /etc/nginx/sites-enabled:

    code language-bash
    ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled
    
  6. Verifique se a sintaxe está correta:

    code language-bash
    nginx -t
    
  7. Reiniciar O Nginx:

    code language-bash
    systemctl restart nginx
    

Verificar a instalação

Para verificar a instalação, abra um navegador da Web e navegue até o URL base do site. Para obter mais informações, consulte Verificar a instalação.

Instalação no CentOS 7

Use esta seção para instalar o Adobe Commerce no CentOS 7 com Nginx, PHP e MySQL.

Instalar Nginx

yum -y install epel-release
yum -y install nginx

Após a conclusão da instalação, inicie o nginx e configure-o para iniciar no momento da inicialização:

systemctl start nginx
systemctl enable nginx

Depois de concluir as seções a seguir e instalar o aplicativo, use um arquivo de configuração de exemplo para configurar o Nginx.

Instalar e configurar o PHP-FPM

O Adobe Commerce requer várias extensões PHP para funcionar corretamente. Além dessas extensões, você também deve instalar e configurar a extensão php-fpm se estiver usando o Nginx.

  1. Instalar php-fpm:

    code language-bash
    yum -y install <php-fpm-package>
    
  2. Abra o arquivo /etc/php.ini em um editor.

    note note
    NOTE
    Instale o pacote que fornece php-fpm para a versão do PHP suportada pela versão do Adobe Commerce que você está instalando. Os nomes dos pacotes variam de acordo com o repositório e sistema operacional. Consulte requisitos de sistema.
  3. Descomente a linha cgi.fix_pathinfo e altere o valor para 0.

  4. Edite o arquivo para corresponder às seguintes linhas:

    code language-conf
    memory_limit = 2G
    max_execution_time = 1800
    zlib.output_compression = On
    
    note note
    NOTE
    A Adobe recomenda definir o limite de memória para 2 GB ao testar o Adobe Commerce. Consulte Configurações PHP necessárias para obter mais informações.
  5. Remova o comentário do diretório de caminho da sessão e defina o caminho:

    code language-conf
    session.save_path = "/var/lib/php/session"
    
  6. Salve e saia do editor.

  7. Abra /etc/php-fpm.d/www.conf em um editor.

  8. Edite o arquivo para corresponder às seguintes linhas:

    code language-conf
    user = nginx
    group = nginx
    listen = /run/php-fpm/php-fpm.sock
    listen.owner = nginx
    listen.group = nginx
    listen.mode = 0660
    
  9. Remova o comentário das linhas de ambiente:

    code language-conf
    env[HOSTNAME] = $HOSTNAME
    env[PATH] = /usr/local/bin:/usr/bin:/bin
    env[TMP] = /tmp
    env[TMPDIR] = /tmp
    env[TEMP] = /tmp
    
  10. Salve e saia do editor.

  11. Crie um diretório para o caminho da sessão PHP e altere o proprietário para o usuário e grupo nginx:

    code language-bash
    mkdir -p /var/lib/php/session/
    
    code language-bash
    chown -R nginx:nginx /var/lib/php/
    
  12. Crie um diretório para o soquete PHP-FPM e altere o proprietário para o usuário e grupo nginx:

    code language-bash
    mkdir -p /run/php-fpm/
    
    code language-bash
    chown -R nginx:nginx /run/php-fpm/
    
  13. Inicie o serviço php-fpm e configure-o para iniciar no momento da inicialização:

    code language-bash
    systemctl start php-fpm
    
    code language-bash
    systemctl enable php-fpm
    
  14. Verifique se o serviço php-fpm está em execução:

    code language-bash
    netstat -pl | grep php-fpm.sock
    

Instalar e configurar o MySQL

Consulte MySQL para obter mais informações.

Instalar o Adobe Commerce

É possível baixar o Adobe Commerce de várias maneiras:

Este exemplo mostra uma instalação baseada no Composer usando a linha de comando.

  1. Como o proprietário do sistema de arquivos, faça logon no servidor de aplicativos.

  2. Altere para o diretório docroot do servidor Web ou um diretório que você configurou como docroot do host virtual. Para este exemplo, use o padrão CentOS /usr/share/nginx/html.

    code language-bash
    cd /usr/share/nginx/html
    
  3. Instale o Composer globalmente. O Composer é necessário para atualizar dependências antes de instalar o Adobe Commerce:

    code language-bash
    curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
    
  4. Crie um projeto do Composer usando o metapackage do Adobe Commerce.

    Magento Open Source

    code language-bash
    composer create-project --repository=https://repo.magento.com/ magento/project-community-edition <install-directory-name>
    

    Adobe Commerce

    code language-bash
    composer create-project --repository=https://repo.magento.com/ magento/project-enterprise-edition <install-directory-name>
    

    Quando solicitado, insira suas chaves de autenticação. Sua chave pública é seu nome de usuário; sua chave privada é sua senha.

  5. Defina permissões de leitura e gravação para o grupo de servidores Web antes de instalar o aplicativo. Isso é necessário para que a linha de comando possa gravar arquivos no sistema de arquivos.

    code language-bash
    cd /usr/share/nginx/html/<magento install directory>
    
    code language-bash
    find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +
    
    code language-bash
    find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +
    
    code language-bash
    chown -R :nginx . # CentOS
    
    code language-bash
    chmod u+x bin/magento
    
  6. Instalar da linha de comando. Este exemplo pressupõe que o diretório de instalação seja nomeado como magento2ee e que o host do banco de dados esteja na mesma máquina (localhost):

    code language-bash
    bin/magento setup:install \
    --base-url=http://localhost/magento2ee \
    --db-host=localhost \
    --db-name=<db-name> \
    --db-user=<db-user> \
    --db-password=<db-password> \
    --backend-frontname=<backend-uri> \
    --admin-firstname=<admin-first-name> \
    --admin-lastname=<admin-last-name> \
    --admin-email=<admin-email> \
    --admin-user=<admin-user> \
    --admin-password=<admin-password> \
    --language=en_US \
    --currency=USD \
    --timezone=America/Chicago \
    --use-rewrites=1
    
  7. Alternar para modo de desenvolvedor:

    code language-bash
    cd /usr/share/nginx/html/magento2/bin
    
    code language-bash
    ./magento deploy:mode:set developer
    

Configurar Nginx

Recomendamos configurar o Nginx usando o arquivo nginx.conf.sample no diretório de instalação e sua configuração de host virtual Nginx.

IMPORTANT
O arquivo nginx.conf.sample fornece o roteamento de aplicativo necessário, bem como regras de proteção de segurança. Por exemplo, ela restringe a execução de scripts mal-intencionados carregados no servidor. Se você não usar esse arquivo ou modificar suas regras, será responsável pela implementação de controles de segurança equivalentes na sua configuração personalizada do nginx.

Essas instruções supõem que você esteja usando o local padrão do CentOS para o host virtual Nginx, como /etc/nginx/conf.d, e o docroot padrão, como /usr/share/nginx/html. Você pode alterar esses locais para se adequar ao seu ambiente.

  1. Crie um novo host virtual para seu site:

    code language-bash
    vim /etc/nginx/conf.d/magento.conf
    
  2. Adicione a seguinte configuração:

    code language-conf
    upstream fastcgi_backend {
      server  unix:/run/php-fpm/php-fpm.sock;
    }
    
    server {
    
      listen 80;
      server_name www.magento-dev.com;
      set $MAGE_ROOT /usr/share/nginx/html/magento2;
      include /usr/share/nginx/html/magento2/nginx.conf.sample;
    }
    
    note note
    NOTE
    A diretiva include deve apontar para a amostra do arquivo de configuração nginx no diretório de instalação.
  3. Substitua www.magento-dev.com pelo nome de domínio.

  4. Salve e saia do editor.

  5. Verifique se a sintaxe está correta:

    code language-bash
    nginx -t
    
  6. Reiniciar O Nginx:

    code language-bash
    systemctl restart nginx
    

Configurar SELinux e firewalld

O SELinux é ativado por padrão no CentOS 7. Use o seguinte comando para confirmar se está em execução:

sestatus

Para configurar o SELinux e o firewalld:

  1. Instale as ferramentas de gerenciamento do SELinux:

    code language-bash
    yum -y install policycoreutils-python
    
  2. Execute os seguintes comandos para alterar o contexto de segurança do diretório de instalação:

    code language-bash
    semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/app/etc(/.*)?'
    
    code language-bash
    semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/var(/.*)?'
    
    code language-bash
    semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/pub/media(/.*)?'
    
    code language-bash
    semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/pub/static(/.*)?'
    
    code language-bash
    restorecon -Rv '/usr/share/nginx/html/magento2/'
    
  3. Instale o pacote firewalld:

    code language-bash
    yum -y install firewalld
    
  4. Inicie o serviço de firewall e configure-o para iniciar no momento da inicialização:

    code language-bash
    systemctl start firewalld
    
    code language-bash
    systemctl enable firewalld
    
  5. Execute os seguintes comandos para abrir portas para HTTP e HTTPS para poder acessar o URL base de um navegador da Web:

    code language-bash
    firewall-cmd --permanent --add-service=http
    
    code language-bash
    firewall-cmd --permanent --add-service=https
    
    code language-bash
    firewall-cmd --reload
    

Verificar a instalação

Para verificar a instalação, abra um navegador da Web e navegue até o URL base do site. Para obter mais informações, consulte Verificar a instalação.

recommendation-more-help
0f8e7db5-0e9c-4002-a5b8-a0088077d995