当前位置: 首页 > 文档资料 > 上云如此简单 >

magento 镜像使用指南

优质
小牛编辑
135浏览
2023-12-01

本文档用于指导用户使用 Magento 镜像, Magento (麦进斗) 是一套专业开源的电子商务系统。Magento设计得非常灵活,具有模块化架构体系和丰富的功能。易于与第三方应用系统无缝集成。其面向企业级应用,可处理各方面的需求,以及建设一个多种用途和适用面的电子商务网站。 包括购物、航运、产品评论等等,充分利用开源的特性,提供代码库的开发,非常规范的标准,易于与第三方应用系统无缝集成。

快速入门

1. 获取一键部署镜像

阿里云方法一:通过云市场订阅
  1. 选择 magento 镜像
  2. 单击 "立即购买"
方法二: 购买ECS时
  1. 购买ECS创建实例,镜像选择 “云市场镜像”,点击 “从镜像市场获取更多选择(含操作系统)” 搜索 “零栈 magento”
  2. 选择 magento 镜像,点击使用
  3. 继续创建实例
方法三: 已有ECS使用镜像
  1. 登录阿里云控制台
  2. 停止需要使用镜像的实例,点击 “更多” 在 “磁盘和镜像” 中选择 “更换操作系统”,镜像选择 “云市场镜像”,点击“从镜像市场获取更多选择(含操作系统)”搜索 “零栈 magento”
腾讯云方法一:通过云市场订阅
  1. 选择 magento 镜像
  2. 单击 "立即购买"
方法二: 通过控制台
  1. 登录腾讯云CVM控制台
  2. 新建,新建服务器的时候镜像选择 “镜像市场”,点击 “从镜像市场选择” 搜索 “零栈 magento”
  3. 选择 magento 镜像,点击使用
  4. 继续创建实例
方法三: 已有 CVM 使用镜像
  1. 请先在店铺中搜索并选择 magento,复制镜像全称
  2. 登录腾讯云CVM控制台
  3. 选择需要使用镜像的实例点击 “更多” > “重装系统” > “镜像来源” 中选择 “服务市场”,镜像选择对应类型,点击下拉列表搜索之前复制的镜像名称

2. 设置安全组端口

云服务器中,外部访问需要先设置安全组,开启端口。

名称端口号协议源/授权对象
HTTP80TCP0.0.0.0/0
HTTPS443TCP0.0.0.0/0

3. 获取镜像用户账号密码

用户名密码数据库
root<当前服务器实例ID>-
magento<当前服务器实例ID>magento
用户名密码
admin<当前服务器实例ID>

4. 远程登录服务器(可选)

在本地计算机上远程登录服务器,不同操作系统登录方式可能有所差异,详细参考:如何登录远程服务器?

5. 安装向导

Tip

magento 2.4 版本后官方不再支持 WEB 向导模式安装,镜像开机后需要等待几分钟自动初始化安装,初始化完成后在浏览器中访问服务器公网 IP 即可打开商店首页, magento 后台地址:http://服务器公网IP/admin/

如需使用外部数据库(如云厂商提供的云数据库或者自建其他远程数据库),请参考以下操作

  1. 远程登录服务器
  2. 进入 magento 程序目录
    cd /var/www/magento/
    
  3. 删除初始化安装生成的 magento 配置文件
    rm -rf app/env.php
    
  4. 根据实际情况修改以下命令行参数后运行
    php bin/magento setup:install \
    --base-url=http://www.xxx.com/ \     # 网站Url
    --db-host=localhost \                # 数据库主机地址
    --db-name=magento \                  # 数据库名称
    --db-user=magento \                  # 管理员用户名字
    --db-password=magento \              # 数据库密码
    --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                     # 使用伪静态
    
  1. 浏览器上访问服务器公网 IP 或者解析完成的域名, 点击 Agree and Setup Magento 进入下一步

  2. 检查环境是否有问题

  3. 配置数据库连接信息

  4. 设置访问地址和后台地址

  5. 设置区域时间和语言

  6. 设置管理员账号

  7. 安装中..(等待几分钟)

  8. 安装成功

组件

  • Magento 目录: /var/www/magento
  • Magento 配置文件 /var/www/magento/app/env.php

系统包管理安装

组件功能参考
Apache/NginxWeb 应用服务器Apache(LAMP) /Nginx(LNMP)
MySQL数据库服务器MySQL
Redis数据库、缓存服务器Redis
PHP-FPMPHP FastCGI 管理器PHP

其他内置软件包

组件功能参考
phpMyAdminMySQL数据库 Web 管理工具phpMyAdmin
Certbot自动生成部署 LetsEncrypt 证书Certbot

如何访问已安装的其他软件

访问 phpMyAdmin

浏览器中访问 http://服务器公网IP/phpmyadmin/

phpMyAdmin 和 MySQL 共享用户名和密码

可选设置

启用 HTTPS

设置 SSL 证书可以在 Web 服务器上启用 HTTPS,从而保护服务器与浏览器之间的流量。

Certbot 是一种在服务器上自动配置免费 SSL 证书的办法

1. 注册域名

需要使用 Certbot,你需要注册域名和解析域名:

  • 将域名(例如:example.com)添加一条 A 记录到服务器公网 IP
  • 将域名(例如:www.example.com)添加一条 A 记录到服务器公网 IP

2. 将域名绑定

编辑虚拟主机配置文件(参考:Apache(LAMP) /Nginx(LNMP)

3. Certbot

运行以下命令自动生成配置 SSL 证书,将命令中 example.com 修改为自己域名

certbot -m admin@admin.com --no-eff-email --agree-tos --expand -d example.com -d www.example.com

4. 证书自动续订

建议运行以下命令,将默认使用 crontab 添加计划任务

echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew -q" | sudo tee -a /etc/crontab > /dev/null

上传文件

您可以使用SFTP或其他支持SFTP协议的工具将文件上传到服务器,我们推荐使用 WinSCP

magento 配置 Redis 缓存

Tip

使用远程 Redis 或者 云服务商提供的 Redis,参考命令修改主机地址、端口、密码、数据库名等信息

远程登录服务器在 /var/www/magento/ 目录下执行以下命令:

1. 配置后端使用 Redis 缓存

php bin/magento setup:config:set \
--cache-backend=redis \
--cache-backend-redis-server=127.0.0.1 \          # redis 主机地址
--cache-backend-redis-port=6379  \                # redis 主机端口(可选)
--cache-backend-redis-db=0 \                      # redis 数据库编号,建议默认缓存数据库编号分配给 0
--cache-backend-redis-password=redis_password \   # redis 密码(可选)

2. 配置页面使用 Redis 缓存

php bin/magento setup:config:set \
--page-cache=redis \
--page-cache-redis-server=127.0.0.1 \            # redis 主机地址
--page-cache-redis-port=6379  \                  # redis 主机端口(可选)
--page-cache-redis-db=1 \                        # redis 数据库编号,建议页面缓存数据库编号分配给 1
--page-cache-redis-password=redis_password \     # redis 密码(可选)

3. 配置会话存储(session storage)使用 Redis

php bin/magento setup:config:set \
--session-save=redis \
--session-save-redis-host=127.0.0.1 \            # redis 主机地址
--session-save-redis-port=6379  \                # redis 主机端口(可选)
--session-save-redis-db=2    \                   # redis 数据库编号,建议会话存储缓存数据库编号分配给 2
--session-save-redis-password=redis_password \   # redis 密码(可选)
--session-save-redis-log-level=4                 # 会话日志级别

详细请参考:

Use Redis for the Magento page and default cache

Use Redis for session storage

magento 配置 SMTP

1. 安装 SMTP 扩展

远程登录服务器在 /var/www/magento/ 目录下执行以下命令:

composer require mageplaza/module-smtp
php bin/magento setup:upgrade
php bin/magento setup:static-content:deploy

2. 启用 STMP

登录到 Magento 管理面板,转到Mageplaza > SMTP > Configuration > General Configuration

配置 "Enable Mageplaza SMTP" 为 YES

3. 配置 SMTP

在常规配置区域,向下滚动找到 "SMTP Configuration Options"

详细参考: SMTP Configuration Options

常见问题

magento 如何关闭 TwoFactor Auth(双因素认证)?

远程登录服务器在 /var/www/magento/ 目录下执行以下命令:

php bin/magento module:disable Magento_TwoFactorAuth

如何重置 magento 密码?

远程登录服务器在 /var/www/magento/ 目录下执行以下命令:

php bin/magento admin:user:create \
--admin-user="admin" \
--admin-password="new_password" \
--admin-email="admin@admin.com" \
--admin-firstname="Admin" \
--admin-lastname="Admin"