恩金克斯
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
,请执行以下操作:
-
安装
php-fpm
和php-cli
:code language-bash apt-get -y install php7.2-fpm php7.2-cli
note note NOTE 此命令安装最新可用版本的PHP 7.2.X。有关支持的PHP版本,请参阅系统要求。 -
在编辑器中打开
php.ini
文件:code language-bash vim /etc/php/7.2/fpm/php.ini
code language-bash vim /etc/php/7.2/cli/php.ini
-
编辑这两个文件以匹配以下行:
code language-conf memory_limit = 2G max_execution_time = 1800 zlib.output_compression = On
note note NOTE 测试Adobe Commerce时,我们建议将内存限制设置为2 G。 有关详细信息,请参阅必需的PHP设置。 -
保存并退出编辑器。
-
重新启动
php-fpm
服务:code language-bash systemctl restart php7.2-fpm
安装和配置MySQL
有关详细信息,请参阅MySQL。
安装和配置
有多种下载Adobe Commerce的方法,包括:
此示例显示了使用命令行进行的基于编辑器的安装。
-
以文件系统所有者的身份登录到您的应用程序服务器。
-
转到Web服务器docroot目录或您已配置为虚拟主机docroot的目录。 在此示例中,我们使用Ubuntu默认
/var/www/html
。code language-bash cd /var/www/html
-
全局安装编辑器。 在安装Adobe Commerce之前,需要编辑器更新依赖项:
code language-bash curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
-
使用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>
出现提示时,输入您的身份验证密钥。 您的 公钥 是您的用户名;私钥 是您的密码。
-
在安装应用程序之前,为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
-
从命令行安装。 此示例假定安装目录名为
magento2ee
,db-host
在同一计算机(localhost
)上,db-name
、db-user
和db-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
-
切换到开发人员模式:
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
),但是,您可以更改这些位置以适应您的环境。
-
为您的站点创建新的虚拟主机:
code language-bash vim /etc/nginx/sites-available/magento
-
添加以下配置:
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配置文件示例。 -
将
www.magento-dev.com
替换为您的域名。 此名称必须匹配您在安装Adobe Commerce时指定的基本URL。 -
保存并退出编辑器。
-
通过在
/etc/nginx/sites-enabled
目录中创建指向新创建的虚拟主机的符号链接来激活该虚拟主机:code language-bash ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled
-
验证语法是否正确:
code language-bash nginx -t
-
重新启动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
扩展。
-
安装
php-fpm
:code language-bash yum -y install php70w-fpm
-
在编辑器中打开
/etc/php.ini
文件。 -
取消注释
cgi.fix_pathinfo
行并将值更改为0
。 -
编辑文件以匹配以下行:
code language-conf memory_limit = 2G max_execution_time = 1800 zlib.output_compression = On
note note NOTE 测试Adobe Commerce时,我们建议将内存限制设置为2 G。 有关详细信息,请参阅必需的PHP设置。 -
取消注释会话路径目录并设置路径:
code language-conf session.save_path = "/var/lib/php/session"
-
保存并退出编辑器。
-
在编辑器中打开
/etc/php-fpm.d/www.conf
。 -
编辑文件以匹配以下行:
code language-conf user = nginx group = nginx listen = /run/php-fpm/php-fpm.sock listen.owner = nginx listen.group = nginx listen.mode = 0660
-
取消对环境行的注释:
code language-conf env[HOSTNAME] = $HOSTNAME env[PATH] = /usr/local/bin:/usr/bin:/bin env[TMP] = /tmp env[TMPDIR] = /tmp env[TEMP] = /tmp
-
保存并退出编辑器。
-
为PHP会话路径创建一个目录,并将所有者更改为
apache
用户和组:code language-bash mkdir -p /var/lib/php/session/
code language-bash chown -R apache:apache /var/lib/php/
-
为PHP会话路径创建一个目录,并将所有者更改为
apache
用户和组:code language-bash mkdir -p /run/php-fpm/
code language-bash chown -R apache:apache /run/php-fpm/
-
启动
php-fpm
服务并将其配置为在启动时启动:code language-bash systemctl start php-fpm
code language-bash systemctl enable php-fpm
-
验证
php-fpm
服务是否正在运行:code language-bash netstat -pl | grep php-fpm.sock
安装和配置MySQL
有关详细信息,请参阅MySQL。
安装和配置
有多种下载Adobe Commerce的方法,包括:
此示例显示了使用命令行进行的基于编辑器的安装。
-
以文件系统所有者的身份登录到您的应用程序服务器。
-
转到Web服务器docroot目录或您已配置为虚拟主机docroot的目录。 在此示例中,我们使用Ubuntu默认
/var/www/html
。code language-bash cd /var/www/html
-
全局安装编辑器。 在安装Adobe Commerce之前,需要编辑器更新依赖项:
code language-bash curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
-
使用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>
出现提示时,输入您的身份验证密钥。 您的 公钥 是您的用户名;私钥 是您的密码。
-
在安装应用程序之前,为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
-
从命令行安装。 此示例假定安装目录名为
magento2ee
,db-host
在同一计算机(localhost
)上,db-name
、db-user
和db-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
-
切换到开发人员模式:
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
),但是,您可以更改这些位置以适合您的环境。
-
为您的站点创建新的虚拟主机:
code language-bash vim /etc/nginx/conf.d/magento.conf
-
添加以下配置:
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配置文件示例。 -
将
www.magento-dev.com
替换为您的域名。 -
保存并退出编辑器。
-
验证语法是否正确:
code language-bash nginx -t
-
重新启动nginx:
code language-bash systemctl restart nginx
配置SELinux和Firewald
在CentOS 7上,SELinux默认处于启用状态。 使用以下命令查看它是否正在运行:
sestatus
要配置SELinux和firewald:
-
安装SELinux管理工具:
code language-bash yum -y install policycoreutils-python
-
运行以下命令以更改安装目录的安全上下文:
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/'
-
安装防火墙包:
code language-bash yum -y install firewalld
-
启动防火墙服务并将其配置为在引导时启动:
code language-bash systemctl start firewalld
code language-bash systemctl enable firewalld
-
运行以下命令以打开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