[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-shell apt-get -y install php<php-version>-fpm php<php-version>-clinote 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-shell vim /etc/php/<php-version>/fpm/php.inicode language-shell 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 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-shell 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-shell cd /var/www/html -
Instale o Composer globalmente. O Composer é necessário para atualizar dependências antes de instalar o Adobe Commerce:
code language-shell 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-shell composer create-project --repository=https://repo.magento.com/ magento/project-community-edition <install-directory-name>Adobe Commerce
code language-shell 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-shell cd /var/www/html/<magento install directory>code language-shell find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +code language-shell find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +code language-shell chown -R :www-data . # Ubuntucode language-shell 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-shell 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 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-shell cd /var/www/html/magento2/bincode language-shell ./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-shell 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 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-shell ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled -
Verifique se a sintaxe está correta:
code language-shell nginx -t -
Reiniciar O Nginx:
code language-shell 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-shell yum -y install <php-fpm-package> -
Abra o arquivo
/etc/php.iniem um editor.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 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-shell mkdir -p /var/lib/php/session/code language-shell 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-shell mkdir -p /run/php-fpm/code language-shell chown -R nginx:nginx /run/php-fpm/ -
Inicie o serviço
php-fpme configure-o para iniciar no momento da inicialização:code language-shell systemctl start php-fpmcode language-shell systemctl enable php-fpm -
Verifique se o serviço
php-fpmestá em execução:code language-shell 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-shell 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-shell 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-shell composer create-project --repository=https://repo.magento.com/ magento/project-community-edition <install-directory-name>Adobe Commerce
code language-shell 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-shell cd /usr/share/nginx/html/<magento install directory>code language-shell find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} +code language-shell find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} +code language-shell chown -R :nginx . # CentOScode language-shell 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-shell 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-shell cd /usr/share/nginx/html/magento2/bincode language-shell ./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-shell 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 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-shell nginx -t -
Reiniciar O Nginx:
code language-shell 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-shell yum -y install policycoreutils-python -
Execute os seguintes comandos para alterar o contexto de segurança do diretório de instalação:
code language-shell semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/app/etc(/.*)?'code language-shell semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/var(/.*)?'code language-shell semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/pub/media(/.*)?'code language-shell semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/magento2/pub/static(/.*)?'code language-shell restorecon -Rv '/usr/share/nginx/html/magento2/' -
Instale o pacote firewalld:
code language-shell yum -y install firewalld -
Inicie o serviço de firewall e configure-o para iniciar no momento da inicialização:
code language-shell systemctl start firewalldcode language-shell 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-shell firewall-cmd --permanent --add-service=httpcode language-shell firewall-cmd --permanent --add-service=httpscode language-shell 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.