恩金克斯

Adobe Commerce支持nginx 1.x(或最新的主行版本)。 您还必须安装最新版本的php-fpm

安装说明因您使用的操作系统而异。 有关信息,请参阅PHP

乌班图

以下部分介绍了如何使用nginx、PHP和MySQL在Ubuntu上安装Adobe Commerce 2.x。

安装nginx

sudo apt -y install nginx

您还可以从源构建nginx

完成以下部分并安装应用程序后,我们将使用示例配置文件来配置nginx

安装和配置php-fpm

Adobe Commerce需要多个PHP扩展才能正常运行。 除了这些扩展之外,如果您使用nginx,则还必须安装和配置php-fpm扩展。

要安装和配置php-fpm,请执行以下操作:

  1. 安装php-fpmphp-cli

    code language-bash
    apt-get -y install php7.2-fpm php7.2-cli
    
    note note
    NOTE
    此命令安装最新可用版本的PHP 7.2.X。有关支持的PHP版本,请参阅系统要求
  2. 在编辑器中打开php.ini文件:

    code language-bash
    vim /etc/php/7.2/fpm/php.ini
    
    code language-bash
    vim /etc/php/7.2/cli/php.ini
    
  3. 编辑这两个文件以匹配以下行:

    code language-conf
    memory_limit = 2G
    max_execution_time = 1800
    zlib.output_compression = On
    
    note note
    NOTE
    测试Adobe Commerce时,我们建议将内存限制设置为2 G。 有关详细信息,请参阅必需的PHP设置
  4. 保存并退出编辑器。

  5. 重新启动php-fpm服务:

    code language-bash
    systemctl restart php7.2-fpm
    

安装和配置MySQL

有关详细信息,请参阅MySQL

安装和配置

有多种下载Adobe Commerce的方法,包括:

此示例显示了使用命令行进行的基于编辑器的安装。

  1. 文件系统所有者的身份登录到您的应用程序服务器。

  2. 转到Web服务器docroot目录或您已配置为虚拟主机docroot的目录。 在此示例中,我们使用Ubuntu默认/var/www/html

    code language-bash
    cd /var/www/html
    
  3. 全局安装编辑器。 在安装Adobe Commerce之前,需要编辑器更新依赖项:

    code language-bash
    curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
    
  4. 使用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>
    

    出现提示时,输入您的身份验证密钥。 您的​ 公钥 ​是您的用户名;私钥 ​是您的密码。

  5. 在安装应用程序之前,为Web服务器组设置读写权限。 这是必要的,以便命令行可以将文件写入文件系统。

    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. 命令行安装。 此示例假定安装目录名为magento2eedb-host在同一计算机(localhost)上,db-namedb-userdb-password均为magento

    code language-bash
    bin/magento setup:install \
    --base-url=http://localhost/magento2ee \
    --db-host=localhost \
    --db-name=magento \
    --db-user=magento \
    --db-password=magento \
    --backend-frontname=admin \
    --admin-firstname=admin \
    --admin-lastname=admin \
    --admin-email=admin@admin.com \
    --admin-user=admin \
    --admin-password=admin123 \
    --language=en_US \
    --currency=USD \
    --timezone=America/Chicago \
    --use-rewrites=1 \
    --search-engine=elasticsearch7 \
    --elasticsearch-host=es-host.example.com \
    --elasticsearch-port=9200
    
  7. 切换到开发人员模式:

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

配置nginx

我们建议使用安装目录和nginx虚拟主机中提供的nginx.conf.sample配置文件来配置nginx。

这些说明假定您正在使用nginx虚拟主机的Ubuntu默认位置(例如,/etc/nginx/sites-available)和Ubuntu默认docroot(例如,/var/www/html),但是,您可以更改这些位置以适应您的环境。

  1. 为您的站点创建新的虚拟主机:

    code language-bash
    vim /etc/nginx/sites-available/magento
    
  2. 添加以下配置:

    code language-conf
    upstream fastcgi_backend {
      server  unix:/run/php/php7.2-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
    include指令必须指向安装目录中的nginx配置文件示例。
  3. www.magento-dev.com替换为您的域名。 此名称必须匹配您在安装Adobe Commerce时指定的基本URL。

  4. 保存并退出编辑器。

  5. 通过在/etc/nginx/sites-enabled目录中创建指向新创建的虚拟主机的符号链接来激活该虚拟主机:

    code language-bash
    ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled
    
  6. 验证语法是否正确:

    code language-bash
    nginx -t
    
  7. 重新启动nginx:

    code language-bash
    systemctl restart nginx
    

验证安装

打开Web浏览器并导航到您站点的基本URL以验证安装

CentOS 7

以下部分介绍了如何使用nginx、PHP和MySQL在CentOS 7上安装Adobe Commerce 2.x。

安装nginx

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

安装完成后,启动nginx并将其配置为在引导时启动:

systemctl start nginx
systemctl enable nginx

完成以下部分并安装应用程序后,我们将使用示例配置文件来配置nginx。

安装和配置php-fpm

Adobe Commerce需要多个PHP扩展才能正常运行。 除了这些扩展之外,如果您使用的是nginx,则还必须安装和配置php-fpm扩展。

  1. 安装php-fpm

    code language-bash
    yum -y install php70w-fpm
    
  2. 在编辑器中打开/etc/php.ini文件。

  3. 取消注释cgi.fix_pathinfo行并将值更改为0

  4. 编辑文件以匹配以下行:

    code language-conf
    memory_limit = 2G
    max_execution_time = 1800
    zlib.output_compression = On
    
    note note
    NOTE
    测试Adobe Commerce时,我们建议将内存限制设置为2 G。 有关详细信息,请参阅必需的PHP设置
  5. 取消注释会话路径目录并设置路径:

    code language-conf
    session.save_path = "/var/lib/php/session"
    
  6. 保存并退出编辑器。

  7. 在编辑器中打开/etc/php-fpm.d/www.conf

  8. 编辑文件以匹配以下行:

    code language-conf
    user = nginx
    group = nginx
    listen = /run/php-fpm/php-fpm.sock
    listen.owner = nginx
    listen.group = nginx
    listen.mode = 0660
    
  9. 取消对环境行的注释:

    code language-conf
    env[HOSTNAME] = $HOSTNAME
    env[PATH] = /usr/local/bin:/usr/bin:/bin
    env[TMP] = /tmp
    env[TMPDIR] = /tmp
    env[TEMP] = /tmp
    
  10. 保存并退出编辑器。

  11. 为PHP会话路径创建一个目录,并将所有者更改为apache用户和组:

    code language-bash
    mkdir -p /var/lib/php/session/
    
    code language-bash
    chown -R apache:apache /var/lib/php/
    
  12. 为PHP会话路径创建一个目录,并将所有者更改为apache用户和组:

    code language-bash
    mkdir -p /run/php-fpm/
    
    code language-bash
    chown -R apache:apache /run/php-fpm/
    
  13. 启动php-fpm服务并将其配置为在启动时启动:

    code language-bash
    systemctl start php-fpm
    
    code language-bash
    systemctl enable php-fpm
    
  14. 验证php-fpm服务是否正在运行:

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

安装和配置MySQL

有关详细信息,请参阅MySQL

安装和配置

有多种下载Adobe Commerce的方法,包括:

此示例显示了使用命令行进行的基于编辑器的安装。

  1. 文件系统所有者的身份登录到您的应用程序服务器。

  2. 转到Web服务器docroot目录或您已配置为虚拟主机docroot的目录。 在此示例中,我们使用Ubuntu默认/var/www/html

    code language-bash
    cd /var/www/html
    
  3. 全局安装编辑器。 在安装Adobe Commerce之前,需要编辑器更新依赖项:

    code language-bash
    curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
    
  4. 使用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>
    

    出现提示时,输入您的身份验证密钥。 您的​ 公钥 ​是您的用户名;私钥 ​是您的密码。

  5. 在安装应用程序之前,为Web服务器组设置读写权限。 这是必要的,以便命令行可以将文件写入文件系统。

    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. 命令行安装。 此示例假定安装目录名为magento2eedb-host在同一计算机(localhost)上,db-namedb-userdb-password均为magento

    code language-bash
    bin/magento setup:install \
    --base-url=http://localhost/magento2ee \
    --db-host=localhost \
    --db-name=magento \
    --db-user=magento \
    --db-password=magento \
    --backend-frontname=admin \
    --admin-firstname=admin \
    --admin-lastname=admin \
    --admin-email=admin@admin.com \
    --admin-user=admin \
    --admin-password=admin123 \
    --language=en_US \
    --currency=USD \
    --timezone=America/Chicago \
    --use-rewrites=1
    
  7. 切换到开发人员模式:

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

配置nginx

我们建议使用安装目录和nginx虚拟主机中提供的nginx.conf.sample配置文件来配置nginx。

这些说明假定您正在使用nginx虚拟主机的CentOS默认位置(例如,/etc/nginx/conf.d)和默认docroot(例如,/usr/share/nginx/html),但是,您可以更改这些位置以适合您的环境。

  1. 为您的站点创建新的虚拟主机:

    code language-bash
    vim /etc/nginx/conf.d/magento.conf
    
  2. 添加以下配置:

    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
    include指令必须指向安装目录中的nginx配置文件示例。
  3. www.magento-dev.com替换为您的域名。

  4. 保存并退出编辑器。

  5. 验证语法是否正确:

    code language-bash
    nginx -t
    
  6. 重新启动nginx:

    code language-bash
    systemctl restart nginx
    

配置SELinux和Firewald

在CentOS 7上,SELinux默认处于启用状态。 使用以下命令查看它是否正在运行:

sestatus

要配置SELinux和firewald:

  1. 安装SELinux管理工具:

    code language-bash
    yum -y install policycoreutils-python
    
  2. 运行以下命令以更改安装目录的安全上下文:

    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. 安装防火墙包:

    code language-bash
    yum -y install firewalld
    
  4. 启动防火墙服务并将其配置为在引导时启动:

    code language-bash
    systemctl start firewalld
    
    code language-bash
    systemctl enable firewalld
    
  5. 运行以下命令以打开HTTP和HTTPS端口,以便您可以从Web浏览器访问基本URL:

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

验证安装

打开Web浏览器并导航到您站点的基本URL以验证安装

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