Magento 开源电子商务系统¶
本文档由长沙零栈网络科技有限公司提供,用于指导用户使用 Magento 镜像, Magento (麦进斗) 是一套专业开源的电子商务系统。Magento设计得非常灵活,具有模块化架构体系和丰富的功能。易于与第三方应用系统无缝集成。其面向企业级应用,可处理各方面的需求,以及建设一个多种用途和适用面的电子商务网站。 包括购物、航运、产品评论等等,充分利用开源的特性,提供代码库的开发,非常规范的标准,易于与第三方应用系统无缝集成。
快速入门¶
1. 获取一键部署镜像¶
阿里云
方法一:通过云市场订阅
- 选择 magento 镜像
- 单击 "立即购买"
方法二: 购买ECS时
- 购买ECS创建实例,镜像选择 “云市场镜像”,点击 “从镜像市场获取更多选择(含操作系统)” 搜索 “零栈 magento”
- 选择 magento 镜像,点击使用
- 继续创建实例
方法三: 已有ECS使用镜像
- 登录阿里云控制台
- 停止需要使用镜像的实例,点击 “更多” 在 “磁盘和镜像” 中选择 “更换操作系统”,镜像选择 “云市场镜像”,点击“从镜像市场获取更多选择(含操作系统)”搜索 “零栈 magento”
腾讯云
方法一:通过云市场订阅
- 选择 magento 镜像
- 单击 "立即购买"
方法二: 通过控制台
- 登录腾讯云CVM控制台
- 新建,新建服务器的时候镜像选择 “镜像市场”,点击 “从镜像市场选择” 搜索 “零栈 magento”
- 选择 magento 镜像,点击使用
- 继续创建实例
2. 设置安全组端口¶
云服务器中,外部访问需要先设置安全组,开启端口。
名称 | 端口号 | 协议 | 源/授权对象 |
---|---|---|---|
HTTP | 80 | TCP | 0.0.0.0/0 |
HTTPS | 443 | TCP | 0.0.0.0/0 |
3. 获取镜像用户账号密码¶
4. 远程登录服务器(可选)¶
在本地计算机上远程登录服务器,不同操作系统登录方式可能有所差异,详细参考:如何登录远程服务器?
5. 安装向导¶
Tip
magento 2.4 版本后官方不再支持 WEB 向导模式安装,镜像开机后需要等待几分钟自动初始化安装,初始化完成后在浏览器中访问服务器公网 IP 即可打开商店首页, magento 后台地址:http://服务器公网IP/admin/
如需使用外部数据库(如云厂商提供的云数据库或者自建其他远程数据库),请参考以下操作
- 远程登录服务器
- 进入 magento 程序目录
- 删除初始化安装生成的 magento 配置文件
- 根据实际情况修改以下命令行参数后运行
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/wwwroot/magento
- Magento 配置文件
/var/wwwroot/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 证书,根据提示操作即可完成域名自动配置
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
卸载演示数据¶
如需要删除演示数据,远程登陆服务器在 /var/wwwroot/magento/
目录下执行以下命令:
magento 配置 Redis 缓存¶
Tip
使用远程 Redis 或者 云服务商提供的 Redis,参考命令修改主机地址、端口、密码、数据库名等信息
远程登录服务器在 /var/wwwroot/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/wwwroot/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/wwwroot/magento/
目录下执行以下命令:
如何重置 magento 密码?¶
远程登录服务器在 /var/wwwroot/magento/
目录下执行以下命令: