magento 镜像使用指南
本文档用于指导用户使用 Magento 镜像, Magento (麦进斗) 是一套专业开源的电子商务系统。Magento设计得非常灵活,具有模块化架构体系和丰富的功能。易于与第三方应用系统无缝集成。其面向企业级应用,可处理各方面的需求,以及建设一个多种用途和适用面的电子商务网站。 包括购物、航运、产品评论等等,充分利用开源的特性,提供代码库的开发,非常规范的标准,易于与第三方应用系统无缝集成。
快速入门
1. 获取一键部署镜像
阿里云方法一:通过云市场订阅- 选择 magento 镜像
- 单击 "立即购买"
- 购买ECS创建实例,镜像选择 “云市场镜像”,点击 “从镜像市场获取更多选择(含操作系统)” 搜索 “零栈 magento”
- 选择 magento 镜像,点击使用
- 继续创建实例
- 登录阿里云控制台
- 停止需要使用镜像的实例,点击 “更多” 在 “磁盘和镜像” 中选择 “更换操作系统”,镜像选择 “云市场镜像”,点击“从镜像市场获取更多选择(含操作系统)”搜索 “零栈 magento”
- 选择 magento 镜像
- 单击 "立即购买"
- 登录腾讯云CVM控制台
- 新建,新建服务器的时候镜像选择 “镜像市场”,点击 “从镜像市场选择” 搜索 “零栈 magento”
- 选择 magento 镜像,点击使用
- 继续创建实例
- 请先在店铺中搜索并选择 magento,复制镜像全称
- 登录腾讯云CVM控制台
- 选择需要使用镜像的实例点击 “更多” > “重装系统” > “镜像来源” 中选择 “服务市场”,镜像选择对应类型,点击下拉列表搜索之前复制的镜像名称
2. 设置安全组端口
云服务器中,外部访问需要先设置安全组,开启端口。
名称 | 端口号 | 协议 | 源/授权对象 |
---|---|---|---|
HTTP | 80 | TCP | 0.0.0.0/0 |
HTTPS | 443 | TCP | 0.0.0.0/0 |
3. 获取镜像用户账号密码
用户名 | 密码 | 数据库 |
---|---|---|
root | <当前服务器实例ID> | - |
magento | <当前服务器实例ID> | magento |
用户名 | 密码 |
---|---|
admin | <当前服务器实例ID> |
4. 远程登录服务器(可选)
在本地计算机上远程登录服务器,不同操作系统登录方式可能有所差异,详细参考:如何登录远程服务器?
5. 安装向导
Tip
magento 2.4 版本后官方不再支持 WEB 向导模式安装,镜像开机后需要等待几分钟自动初始化安装,初始化完成后在浏览器中访问服务器公网 IP 即可打开商店首页, magento 后台地址:http://服务器公网IP/admin/
如需使用外部数据库(如云厂商提供的云数据库或者自建其他远程数据库),请参考以下操作
- 远程登录服务器
- 进入 magento 程序目录
cd /var/www/magento/
- 删除初始化安装生成的 magento 配置文件
rm -rf app/env.php
- 根据实际情况修改以下命令行参数后运行
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 # 使用伪静态
浏览器上访问服务器公网 IP 或者解析完成的域名, 点击 Agree and Setup Magento 进入下一步
检查环境是否有问题
配置数据库连接信息
设置访问地址和后台地址
设置区域时间和语言
设置管理员账号
安装中..(等待几分钟)
安装成功
组件
- Magento 目录:
/var/www/magento
- Magento 配置文件
/var/www/magento/app/env.php
系统包管理安装
组件 | 功能 | 参考 |
---|---|---|
Apache/Nginx | Web 应用服务器 | Apache(LAMP) /Nginx(LNMP) |
MySQL | 数据库服务器 | MySQL |
Redis | 数据库、缓存服务器 | Redis |
PHP-FPM | PHP FastCGI 管理器 | PHP |
其他内置软件包
组件 | 功能 | 参考 |
---|---|---|
phpMyAdmin | MySQL数据库 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
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"