[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:
-
Instale os pacotes
php-fpmephp-clipara 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>-clinote 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. -
Abrir os arquivos
php.iniem um editor:code language-bash vim /etc/php/<php-version>/fpm/php.inicode language-bash vim /etc/php/<php-version>/cli/php.ini -
Edite ambos os arquivos para corresponder às seguintes linhas:
code language-conf memory_limit = 2G max_execution_time = 1800 zlib.output_compression = Onnote 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. -
Salve e saia do editor.
-
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.
-
Como o proprietário do sistema de arquivos, faça logon no servidor de aplicativos.
-
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 -
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 -
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.
-
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 . # Ubuntucode language-bash chmod u+x bin/magento -
Instalar da linha de comando. Este exemplo pressupõe que o diretório de instalação seja nomeado como
magento2eee 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>=9200note note NOTE Use o valor --search-enginee 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 oelasticsearch7com 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. -
Alternar para modo de desenvolvedor:
code language-bash cd /var/www/html/magento2/bincode 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.
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.
-
Crie um novo host virtual para seu site:
code language-bash vim /etc/nginx/sites-available/magento -
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 includedeve apontar para a amostra do arquivo de configuração nginx no diretório de instalação. -
Substitua
www.magento-dev.compelo nome de domínio. Deve corresponder ao URL de base especificado ao instalar o Adobe Commerce. -
Salve e saia do editor.
-
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 -
Verifique se a sintaxe está correta:
code language-bash nginx -t -
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.
-
Instalar
php-fpm:code language-bash yum -y install <php-fpm-package> -
Abra o arquivo
/etc/php.iniem um editor.note note NOTE Instale o pacote que fornece php-fpmpara 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. -
Descomente a linha
cgi.fix_pathinfoe altere o valor para0. -
Edite o arquivo para corresponder às seguintes linhas:
code language-conf memory_limit = 2G max_execution_time = 1800 zlib.output_compression = Onnote 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. -
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" -
Salve e saia do editor.
-
Abra
/etc/php-fpm.d/www.confem um editor. -
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 -
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 -
Salve e saia do editor.
-
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/ -
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/ -
Inicie o serviço
php-fpme configure-o para iniciar no momento da inicialização:code language-bash systemctl start php-fpmcode language-bash systemctl enable php-fpm -
Verifique se o serviço
php-fpmestá 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.
-
Como o proprietário do sistema de arquivos, faça logon no servidor de aplicativos.
-
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 -
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 -
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.
-
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 . # CentOScode language-bash chmod u+x bin/magento -
Instalar da linha de comando. Este exemplo pressupõe que o diretório de instalação seja nomeado como
magento2eee 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 -
Alternar para modo de desenvolvedor:
code language-bash cd /usr/share/nginx/html/magento2/bincode 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.
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.
-
Crie um novo host virtual para seu site:
code language-bash vim /etc/nginx/conf.d/magento.conf -
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 includedeve apontar para a amostra do arquivo de configuração nginx no diretório de instalação. -
Substitua
www.magento-dev.compelo nome de domínio. -
Salve e saia do editor.
-
Verifique se a sintaxe está correta:
code language-bash nginx -t -
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:
-
Instale as ferramentas de gerenciamento do SELinux:
code language-bash yum -y install policycoreutils-python -
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/' -
Instale o pacote firewalld:
code language-bash yum -y install firewalld -
Inicie o serviço de firewall e configure-o para iniciar no momento da inicialização:
code language-bash systemctl start firewalldcode language-bash systemctl enable firewalld -
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=httpcode language-bash firewall-cmd --permanent --add-service=httpscode 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.