在 CentOS 7 上安装 Magento 2

2023-11-12

Magento 是一个领先的企业级电子商务平台,基于开源技术构建,将强大的功能与灵活性和用户友好的界面相结合。

凭借引人入胜的购物体验、灵活的模块化架构以及企业级可扩展性和性能等功能,Magento 是大多数在线商家的首选平台。

这是该系列的第一篇文章如何在 CentOS 7 上安装和配置 Magento 2。在本教程中,我们将引导您完成在 CentOS 7 计算机上安装 Magento 2 的步骤。

先决条件#

作为学习本教程的先决条件,您将需要:

  • CentOS 7服务器,根据Magento 2官方系统要求你至少需要2G RAM。如果您使用的服务器 RAM 小于 2GB,您应该创建一个交换文件 .
  • 以用户帐户身份登录须藤权限 .
  • 指向您的公共服务器IP的域名。在本教程中,我们将使用example.com.
  • 安装并配置了 Nginx、MySQL 和 PHP 7.1。如果您还没有,请参阅我们的CentOS 7 上的 LEMP 指南 .
  • 有效的 SSL 证书。如果您没有,您可以按照以下步骤创建免费的 Let's Encrypt SSL 证书在 CentOS 7 上使用 Let's Encrypt 保护 Nginx .

Magento 访问密钥对#

我们需要生成访问密钥来验证对 Magento 2 代码存储库以及第三方扩展和主题的访问。

如果您没有 Magento Marketplace 帐户,您可以创建一个here。创建帐户后,请检查这些说明关于如何生成一组新的访问密钥。

创建MySQL数据库#

Magento 2 与 MySQL 5.6 和 5.7、MariaDB 10.x 和 Percona 5.7 兼容。如果您的服务器上没有安装 MySQL 或 MariaDB,您可以检查本指南 .

登录 MySQL shell:

mysql -u root -p

并运行以下命令创建一个新数据库和用户和授予特权通过新创建的数据库发送给该用户:

CREATE DATABASE magento;GRANT ALL ON magento.* TO magento@localhost IDENTIFIED BY 'P4ssvv0rD';

安装 PHP 扩展#

我们假设您已经启用PHP 7.1 Remi 存储库使用我们的指南。

使用以下命令安装所有必需的 PHP 扩展:

sudo yum install php-mysql php-opcache php-xml php-mcrypt php-gd php-soap php-redis php-bcmath php-intl php-mbstring php-json php-iconv php-fpm php-zip

安装完成后,通过编辑以下内容来设置所需和推荐的 PHP 选项php.ini文件与sed :

sudo sed -i "s/memory_limit = .*/memory_limit = 756M/" /etc/php.inisudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 256M/" /etc/php.inisudo sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php.inisudo sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php.inisudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php.inisudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php.d/10-opcache.ini

安装作曲家#

Composer 是 PHP 的依赖管理器,用于安装、更新和管理库。

To 安装作曲家在全球范围内,下载 Composer 安装程序curl and 移动文件 to the /usr/local/bin目录:

curl -sS https://getcomposer.org/installer | phpsudo mv composer.phar /usr/local/bin/composer

创建新的系统用户#

创建一个新的用户和组,它将运行我们的 Magento 安装,为简单起见,我们将命名我们的用户magento:

sudo useradd -m -U -r -d /opt/magento magento

Add the nginx magento 组的用户并改变/opt/magento 目录权限这样 Nginx 就可以访问我们的 Magento 安装:

sudo usermod -a -G magento nginxsudo chmod 750 /opt/magento

配置 PHP FPM#

接下来,我们需要配置 PHP 并为我们的 FPM 创建一个池magento user.

打开你的文本编辑器并创建以下文件:

/etc/php-fpm.d/magento.conf
[magento]
user = magento
group = nginx
listen.owner = magento
listen.group = nginx
listen = /run/php-fpm/magento.sock
pm = ondemand
pm.max_children =  50
pm.process_idle_timeout = 10s
pm.max_requests = 500
chdir = /

保存文件并重新启动 PHP FPM 服务以使更改生效:

sudo systemctl restart php-fpm

安装Magento#

安装 Magento 有多种方法。避免从 Github 存储库安装 Magento,因为该版本用于开发而不是用于生产安装。在本教程中,我们将使用 Composer 从其存储库安装 Magento。

切换到用户 magento:

sudo su - magento

将magento文件下载到以下位置开始安装/opt/magento/public_html目录:

composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition /opt/magento/public_html

在项目创建过程中,作曲家将要求您输入访问密钥,从您的 Magento 市场帐户复制密钥并将其存储在auth.json文件,因此稍后更新安装时,您不必再次添加相同的密钥。

    Authentication required (repo.magento.com):
      Username: e758ec1745d190520ca246e4e832e12c
      Password:
Do you want to store credentials for repo.magento.com in /opt/magento/.config/composer/auth.json ? [Yn]

创建项目后我们就可以开始安装了。我们可以通过使用命令行或使用 Web 安装向导来安装 Magento。在本教程中,我们将使用命令行安装 Magento。

我们将使用以下选项来安装 Magento 商店:

  • 基本和基本安全 URL 设置为https://example.com,将其更改为您的域。
  • Magento administrator:
    • John Doe作为名字和姓氏。
    • john@example.com作为电子邮件。
    • john作为用户名和j0hnP4ssvv0rD作为密码。
  • 数据库名称magento, 用户名magento, 密码P4ssvv0rD,并且数据库服务器与 Web 服务器位于同一主机上。
  • en_US,美国英语作为默认语言。
  • USD美元作为默认货币。
  • America/Chicago作为时区。
您可以找到所有安装选项here .

Change到 Magento~/public_html目录:

cd ~/public_html

运行以下命令开始安装:

php bin/magento setup:install --base-url=https://example.com/ \
                        --base-url-secure=https://example.com/ \
                        --admin-firstname="John" \
                        --admin-lastname="Doe" \
                        --admin-email="john@example.com" \
                        --admin-user="john" \
                        --admin-password="j0hnP4ssvv0rD" \
                        --db-name="magento" \
                        --db-host="localhost" \
                        --db-user="magento" \
                        --currency=USD \
                        --timezone=America/Chicago \
                        --use-rewrites=1 \
                        --db-password="P4ssvv0rD"
不要忘记更改密码(j0hnP4ssvv0rD)到更安全的东西。

如果安装成功,您将看到一条消息,其中包含 Magento 管理仪表板的 URI。

[Progress: 485 / 485]
[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_1csalp
Nothing to import.

创建 Magento crontab#

Magento 使用 cron 作业来安排任务,例如重新索引、通知、站点地图、电子邮件等。

要创建 Magento crontab,请运行以下命令:magento user:

php ~/public_html/bin/magento cron:install

我们可以通过运行以下命令来验证 crontab 是否已安装:

crontab -l
#~ MAGENTO START adc062915d7b30804a2b340095af072d
* * * * * /usr/bin/php /opt/magento/public_html/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule" >> /opt/magento/public_html/var/log/magento.cron.log
* * * * * /usr/bin/php /opt/magento/public_html/update/cron.php >> /opt/magento/public_html/var/log/update.cron.log
* * * * * /usr/bin/php /opt/magento/public_html/bin/magento setup:cron:run >> /opt/magento/public_html/var/log/setup.cron.log
#~ MAGENTO END adc062915d7b30804a2b340095af072d

配置 Nginx#

如果您关注我们的CentOS 7 上的 LEMP 指南你的机器上应该已经安装了 Nginx。现在我们只需要为 Magento 安装创建一个新的服务器块。我们将包含 magento 附带的默认 Nginx 配置:

/etc/nginx/conf.d/example.com.conf
upstream fastcgi_backend {
  server   unix:/run/php-fpm/magento.sock;
}

server {
    listen 80;
    server_name example.com www.example.com;

    include snippets/letsencrypt.conf;
    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;

    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;

    set $MAGE_ROOT /opt/magento/public_html;
    set $MAGE_MODE developer; # or production

    access_log /var/log/nginx/example.com-access.log;
    error_log /var/log/nginx/example.com-error.log;

    include /opt/magento/public_html/nginx.conf.sample;
}

重新加载Nginx服务使更改生效:

sudo systemctl reload nginx

最后,您应该能够登录到您的 Magento 安装:https://example.com/admin_1csalp使用您在运行 Magento 安装程序时指定的管理员用户。

结论#

在本教程中,您在 Centos 7 服务器上安装了 Magento 2。您还生成了免费的 Let's encrypt SSL 证书并将 Nginx 设置为 SSL 终止代理。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 CentOS 7 上安装 Magento 2 的相关文章

随机推荐

  • 如何创建具有授予权限的新 MySQL 用户

    MySQL 是一个关系数据库管理系统 用于以表格格式存储数据 它为用户帐户和授予权限提供了高度的灵活性 本教程将为您提供创建 MySQL 用户帐户和授予数据库权限的简短概述 创建具有权限的MySQL用户 在这里 我们以对所有数据库拥有完全权
  • 通过贸易展览曝光促进您的业务

    中小企业是每个经济体的支柱 由于多种原因 每个州都应该鼓励和支持此类小公司 首先 这些企业对市场变化和供需失衡的反应速度相当快 其次 中小型企业通常具有社区联系紧密的特点 员工之间相互了解 从而产生更强烈的团结感 所有这些特点都意味着这类业
  • 如何列出 Ubuntu 上已安装的软件包

    在本教程中 我们将向您展示如何列出和过滤 Ubuntu 上已安装的软件包 当您需要在另一台计算机上安装相同的软件包或想要重新安装系统时 了解如何列出 Ubuntu 系统上已安装的软件包会很有帮助 我们还将向您展示如何检查是否安装了特定的软件
  • 如何提取(解压缩)tar.xz 文件

    The tar命令允许您创建和提取 tar 档案 它支持多种压缩程序 例如 gzip bzip2 lzip lzma lzop xz 和 compress Xz是一种基于LZMA算法的流行的文件压缩算法 按照约定 压缩后的 tar 存档的名
  • 如何在 Debian 9 上安装 Apache Maven

    Apache Maven 是一个开源项目管理和理解工具 主要用于 Java 项目 Maven 使用项目对象模型 POM 它本质上是一个 XML 文件 其中包含有关项目 配置详细信息 项目依赖项等的信息 在本教程中 我们将向您展示在 Debi
  • 使用 SSH 配置文件

    如果您经常通过 SSH 连接到多个远程系统 您会发现记住所有远程 IP 地址 不同的用户名 非标准端口和各种命令行选项即使不是不可能 也是很困难的 一种选择是创建 bash 别名对于每个远程服务器连接 然而 对于这个问题还有另一种更好 更直
  • 如何在 Ubuntu 20.04 上更改主机名

    主机名是在操作系统安装期间设置的 或者是在创建虚拟机时动态分配给虚拟机的 本指南介绍了如何在 Ubuntu 20 04 上设置或更改主机名 而无需重新启动系统 了解主机名 主机名是标识网络上设备的标签 同一网络上不应有两台或更多台具有相同主
  • 如何在Ubuntu上卸载软件包

    有时 您可能会在 Ubuntu 上安装一个应用程序 但在尝试后 您会发现该应用程序不适合您 在这种情况下 您可能需要卸载该软件包 在本文中 我们将向您展示如何使用图形化的 Ubuntu 软件中心 以及通过命令行 使用apt or apt g
  • 如何在 Ubuntu 20.04 上安装和使用 Curl

    curl是一个命令行实用程序 用于从远程服务器传输数据或向远程服务器传输数据 和curl 您可以使用支持的协议之一下载或上传数据 包括 HTTP HTTPS SCP SFTP and FTP 本文介绍了如何安装Curl在 Ubuntu 20
  • 如何使用 Linux 屏幕

    您是否曾经遇到过这样的情况 您在远程计算机上执行长时间运行的任务 突然连接断开 SSH 会话终止 您的工作丢失 好吧 我们所有人都曾在某个时刻发生过这种事 不是吗 幸运的是 有一个实用程序叫做screen这使我们能够恢复会议 介绍 Scre
  • 如何在 Ubuntu Linux 中更改 root 密码

    root 用户 或超级用户 是所有 Linux 和类 Unix 系统上都存在的特殊用户帐户 它可以完全访问系统上的每个命令和任何资源 没有任何限制 如果您从其他 Linux 发行版转到 Ubuntu 您可能想知道默认 root 密码是什么或
  • 如何在 CentOS 8 上安装 Pip

    Pip 是一个包管理系统 允许您安装 删除以及以其他方式管理用 Python 编写的软件包 它可用于从 Python 包索引 PyPI 和其他索引安装包 在本教程中 我们将解释如何在 CentOS 8 上安装适用于 Python 2 和 3
  • 如何在 Vim / Vi 中保存文件并退出编辑器

    对于许多在命令行上花费大量时间的用户来说 Vim 是首选的文本编辑器 与其他编辑器不同 Vim 有多种操作模式 这对于新用户来说可能有点吓人 Vim 或其前身 Vi 预装在 macOS 和几乎所有 Linux 发行版上 当您遇到您最喜欢的编
  • 如何创建和选择 MySQL 数据库

    MySQL是最流行的开源关系数据库管理系统 本教程介绍如何通过命令行创建 MySQL 或 MariaDB 数据库 在你开始之前 我们假设您的系统上已经安装了 MySQL 或 MariaDB 服务器 所有命令均以管理用户身份执行 最小特权创建
  • 如何提取(解压缩)Tar Bz2 文件

    The tar命令允许您创建和提取 tar 档案 它支持多种压缩程序 例如 gzip bzip2 lzip lzma lzop xz 和 compress Bzip2 是最流行的 tar 文件压缩算法之一 按照约定 压缩后的 tar 存档的
  • 如何检查 Linux 中的内存使用情况

    在对系统或应用程序速度缓慢或行为不当进行故障排除时 首先要检查的事情之一是系统内存使用情况 本文介绍如何使用几个不同的命令检查 Linux 中的 RAM 使用情况 free命令 free是检查Linux系统内存使用情况最常用的命令 它显示有
  • 在 CentOS 8 上使用 Let's Encrypt 保护 Apache

    Let s Encrypt 是由互联网安全研究小组 ISRG 开发的免费 自动化 开放的证书颁发机构 提供免费的 SSL 证书 Let s Encrypt 颁发的证书受到所有主要浏览器的信任 并且自颁发之日起 90 天内有效 本教程介绍如何
  • 如何在 Debian 9 上安装 WildFly (JBoss)

    WildFly 以前称为 JBoss 是一个用 Java 编写的跨平台开源应用程序运行时 可帮助您构建令人惊叹的应用程序 WildFly 灵活 轻量 并且基于可根据需要添加或删除的可插拔子系统 在本教程中 我们将引导您完成在 Debian
  • 如何在 Ubuntu 18.04 上安装 Git

    Git 是分布式版本控制系统事实上的标准 现在被大多数开发人员使用 它允许您跟踪代码更改 恢复到之前的阶段 创建分支以及与其他开发人员协作 Git 最初是由莱纳斯 托瓦尔兹Linux内核的创建者 本教程将指导您完成在 Ubuntu 18 0
  • 在 CentOS 7 上安装 Magento 2

    Magento 是一个领先的企业级电子商务平台 基于开源技术构建 将强大的功能与灵活性和用户友好的界面相结合 凭借引人入胜的购物体验 灵活的模块化架构以及企业级可扩展性和性能等功能 Magento 是大多数在线商家的首选平台 这是该系列的第