欢迎光临微互媒网络,我们是一家专注中小型企业外贸网站建设、magento网站设计、wordpress网站建设公司!

咨询热线:19118193330
微信号
新闻中心News
外贸网站建设|magento网站建设|wordpress网站设计公司-长沙微互媒网络

magento2网站搬家详细教程

作者:auqwyggfhv | 点击: | 来源:auqwyggfhv
0501
2021
magento2网站搬家详细教程...
第一章:简介
如您所见,我将屏幕分为四个部分。我们选择了我的Web浏览器(在本例中为Google Chrome),选择了SSH客户端(Windows的Putty-在Putty.org上可用),并且按章节分类可以帮助您快速浏览视频。最后,所有对我有帮助的笔记。
 
但是有一点儿变化……由于在这段视频中我将同时访问原始服务器和新服务器,因此我将更改左下角窗口的外观以代表每个服务器以帮助区分它们。
 
当我访问新服务器时,它将以这种方式显示…然后,当我访问原始服务器时,将在窗口周围添加此红色边框。
 
因此,无论您是移动Web主机还是创建开发环境以安全地在商店上工作,本教程中的所有步骤都与上一个步骤相同。
 
此外,无论您是原始服务器处于开发人员模式还是生产模式,本教程都将起作用。同样,唯一会变化的步骤是在最后。
 
正如我在本视频开头提到的那样,在创建本教程之前,我已经继续进行并准备好新服务器来运行Magento 2.3的副本。如果您想确切地知道我如何设置此新服务器,则应观看“如何安装Magento 2.3和构建Web服务器”的前40分钟 51去年的教程-包括“文件夹权限”部分。我将在下面的说明中添加指向该视频的链接。
第2章:原始服务器准备
数据库备份
关于数据,Magento本质上有两部分。媒体和系统文件都位于Magento的根目录中。此外,还有数据库存储在Web服务器上的其他位置。因此,当我复制文件时,需要确保我也获取了数据库的新副本。获取数据库副本的最简单方法是运行数据库备份。
 
可以通过Magento的后端在“系统”>“备份”下并按照数据库备份步骤轻松实现。但是,由于这是一个教程,我将向您展示如何从命令行界面实现这一点。
 
现在,我以magento用户身份登录到原始服务器。和往常一样,我将输入以下内容导航到Magento根目录:
 
复制到剪贴板
cd /var/www/html
我知道我来对地方了,因为当我直接列出当前使用的所有文件时,ls -la它将看起来像这样。
 
现在,我将使用一个名为mysqldump的工具,该工具将允许我创建Magento数据库的完整备份。该命令如下所示:
 
复制到剪贴板
mysqldump -p -u magento-master magento-master > var/backups/migrate.sql
mysqldump 是工具
-p 启用执行命令所需的密码提示
-u magento-master 设置我要执行操作的mysql用户名
magento-master 设置我要执行操作的mysql数据库
> 设置要导出的动作
var/backups/migrate.sql 设置我要导出到的位置和文件名
按Enter键后,将提示我输入magento-master用户的密码。输入密码并再次按Enter后,屏幕将显示为冻结-仅显示输入密码提示。实际上,正在备份数据库,但是在此过程中没有状态或输出。根据数据库的大小,此过程可能需要几秒钟到几分钟的时间。根据我的经验,我已经等待了4分钟才能建立一个5 GB的数据库,因此,如果您等待一会儿,请不要惊慌。
 
备份完成后,您将不会看到确认消息。而是,正常提示将重新出现。但请记住,我将通过输入以下内容来验证数据库是否已备份:
 
复制到剪贴板
ls -la var/backups
在输出中,我可以看到新的migration.sql文件。
 
防火墙白名单(Digitalocean)
如本文/视频开头所述,本小节假定您正在使用DigitalOcean,就像我在之前的教程中所做的那样。您可以在此处找到有关DigitalOcean防火墙的更多信息。 1个。如果您不使用DigitalOcean,请参考您的Web主机文档或使用以下针对“内置”防火墙的小节说明。
 
接下来,我需要允许我的新服务器通过SSH访问我的原始服务器。这是开始变得有些灰白的地方,因为您的每个设置都会因Web主机服务而异。因此,我将为您提供两种可能的方案。
 
本质上,您的Web服务器可以具有2个防火墙。Web服务器操作系统中内置的防火墙。以及您的Web主机可能提供或可能不提供的防火墙。我的Web服务器由Digitalocean托管,而Digitalocean实际上提供了位于我的Web服务器前面的防火墙服务。这项服务使我可以轻松地从Digitalocean帐户中修改防火墙…
 
顺便说一句,如果您正在考虑使用Digitalocean 4 那么以下视频说明中的我的引荐链接目前可为您提供100美元的免费信用。
 
[视频演练]
 
如果您使用的是另一个提供类似服务的Web主机,则由于每个Web主机服务都不相同,因此您需要参考他们自己的文档。
 
防火墙白名单(内置)
在第二种情况下,通过命令行界面控制在Web服务器操作系统上运行的内置防火墙。
 
但是在执行以下命令之前,我需要切换到我的superuser-因为我的magento用户没有运行它的正确权限。我可以superuser输入以下内容来切换到我的:
 
复制到剪贴板
su craig
然后会提示我输入密码。这是我要尝试登录的超级用户密码,而不是我的magento用户密码。
 
现在,我已经登录,只需输入以下命令即可更新“原始服务器”白名单:
 
复制到剪贴板
sudo ufw allow in from 178.62.22.25 to any port 22
sudo 以超级用户身份执行命令
ufw 是工具
allow in from 178.62.22.25 设置我要允许的服务器的IP地址
to any port 22 设置我要允许IP连接的端口号
现在,我只需要运行以下命令以使更改生效:
 
复制到剪贴板
sudo ufw reload
至此,已经完成了Magento数据库备份和防火墙白名单的准备工作。因此,现在我可以完全注销原始服务器。
 
请记住,只有您和您的Web主机才能最终知道从何处控制Web服务器防火墙。因此,如果遇到问题,您需要参考他们的文档。
 
第三章:新服务器准备
准备magento根目录
现在,我magento可以通过命令行界面以用户身份登录到新服务器了。幸运的是,准备新服务器只需要做一件事。
 
记住,我已经开始安装新服务器了。要确切了解我如何设置此新服务器,您应该观看“如何安装Magento 2.3和构建Web服务器”的前40分钟 51去年的教程-包括标题为“文件夹权限”的部分。以下说明中有该视频的链接。
 
因此,现在我将通过键入以下内容导航到magento根文件夹:
 
复制到剪贴板
cd /var/www/html/
当我最初在新服务器上安装Apache时,它在此目录中创建了一个名为的测试文件index.html。我可以通过在浏览器中输入新服务器的IP地址并查看此页面来进行验证。或ls -la在命令行界面中键入。因此,在开始复制任何文件之前,我将使用以下命令删除该文件:
 
复制到剪贴板
rm index.html
现在,我可以使用一个干净的文件夹。
 
第4章:数据迁移
同步
今天我将用于繁重工作的首选工具称为“ rsync”。这是一个很棒的工具,可以通过SSH安全地传输文件。因此,不需要从一台服务器下载文件并将其上传到另一台服务器上(这可能需要很长时间)。
 
您可以在任一服务器上使用rsync,因为您可以告诉它:
 
将本地文件复制到远程服务器
将文件从远程服务器复制到本地目录
通常,执行此操作并不重要,但到目前为止,我所做的准备工作是假设我将文件从远程服务器复制到本地目录中
 
复制文件
因此,现在要执行rsync命令,使我可以将magento根文件夹的内容从我的原始服务器复制到我要执行命令的位置的新服务器中。这是我将要使用的命令:
 
复制到剪贴板
rsync -avzhe ssh magento@209.97.134.30:/var/www/html/ .
可以分为7个部分:
 
Rysnc 启动实用程序
-avzhe 代表运行rsync时需要启用的许多选项
ssh 指定我要使用ssh协议
magento 是我要登录为的原始服务器上用户的用户名
@209.97.134.30 是我要连接的服务器的IP地址
:/var/www/html/是我要复制的目录。请务必在“ / var / www / html /”末尾注明“ /”。如果忘记添加此斜杠,则rsync工具将同时复制“ html”文件夹和内容-而不只是内容。因此,如果没有结尾的“ /”,则最终得到一个名为/ var / www / html / html /的目录。
最后是“。” 是我要在新服务器上粘贴文件的位置。“。” 只是意味着将其粘贴到我从中运行命令的位置。提醒一下,我将从/ var / www / html /运行该命令,这是我在上一章中导航到的位置。因此,文件将被复制到此处。
当我按Enter键时,系统会询问我有关指纹的信息。键入yes并单击Enter,然后会提示我输入我要尝试登录的magento用户(即用户)的密码。
 
输入密码并按Enter键后,屏幕将显示当前正在复制的文件列表。这可能需要几分钟,所以我将跳到最后。
 
验证复制的文件
既然rsync工具已经完成,我可以输入ls -la以验证所有文件均已正确复制。
 
如您所见,该/var/www/html/文件夹现在包含来自原始服务器的所有Magento 2文件。
 
第5章:迁移后设置
所有权,组和权限
当我运行rsync时,它会跨所有Magento文件复制,包括数据库的备份。但是在进行数据库还原之前,我想对文件的所有权和权限进行一些内务处理,以确保一切正确。
 
当我上次运行ls -la命令列出所有复制的文件时,您可能已经注意到Ownership和Group都从我的原始服务器继承了-这正是我想要发生的事情。
 
但是,如果您在新服务器上使用其他凭据(例如用户名“ bob”而不是“ magento”),则需要对其进行修改,然后再继续。查看有关更多说明的文章(请参阅本文底部)。否则,我将继续下一步。
 
接下来,我要验证所有文件夹和文件都具有Magento正确运行的正确权限。从理论上讲,rsync命令应该保留了所有这些数据,但是使用以下命令进行检查并没有什么坏处:
 
复制到剪贴板
find var generated vendor pub/static pub/media app/etc -type f -exec chmod g+w {} + && find var generated vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} + && chmod u+x bin/magento
不要忘记,您可以从描述中链接的文章中复制并粘贴此命令。
 
故障排除
有时,在迁移服务器后,我会遇到静态内容无法正确清除的问题。为了解决这个问题,我现在总是在这时运行以下命令:
 
复制到剪贴板
rm -rf pub/static/adminhtml pub/static/frontend
这只是删除了前端和后端的临时静态内容文件,这迫使它们在下次加载它们时重新生成。
 
数据库准备
现在是时候为Magento创建MySQL用户和数据库了。创建完这些文件后,我可以简单地导入或还原备份的数据库。
 
因此,我将在http://178.62.22.25/phpmyadmin/访问我的phpMyAdmin页面。 6
然后以我的mysql root用户身份登录
登录后,单击“用户帐户”
然后点击添加用户帐户
对于用户名,我必须输入与在原始服务器上使用的相同的详细信息,即magento-master
将主机名更改为本地
对于密码,我还需要输入与原始服务器相同的密码
现在,单击“使用相同名称创建数据库并授予所有特权”下面的框。,这将在创建用户的同时方便地为我创建一个空数据库。
现在点击页面右下角的Go
遵循这些步骤后,您可能会看到一条错误消息,指出“您的密码不符合当前的策略要求”。最初,对于您的Magento数据库使用较弱的密码只是一个副作用。如果确实遇到此问题,本文将介绍如何解决此问题(请参阅本文底部)。
 
但是,当我成功准备了一切之后,就需要恢复数据库备份。我将使phpMyAdmin保持打开状态,并继续进行下一步。
 
数据库还原
为了还原我的Magento数据库,我需要将数据库备份导入到我刚刚创建的空数据库中。为此,我需要输入以下命令
 
复制到剪贴板
mysql -p -u magento-master magento-master < var/backups/migrate.sql
mysql 是工具
-p 启用执行命令所需的密码提示
-u magento-master 设置我要执行操作的mysql用户名
magento-master 设置我要执行操作的mysql数据库
< 设置要导入的动作
var/backups/migrate.sql 设置我要从中导入的位置和文件名
就像我运行mysqldump命令时一样,屏幕将冻结,显示输入密码提示。但是几秒钟或几分钟后,标准提示将再次出现。验证数据库已导入的最简单方法是单击phpMyAdmin中的“ magento-master”数据库,这将刷新页面并显示所有导入的表。
 
第6章:URL设置
数据库修订
现在,数据库恢复已完成,我将需要手动修改数据库中的一些记录,以便可以通过Web浏览器对其进行访问。那是因为数据库当前配置为可以正常工作,就像我通过原始URL(digitalstartuptutorials.co.uk)访问Magento的此副本一样 1个)。但是实际上,我将使用此新服务器进行开发-因此,我不需要设置域。我只想通过在Web浏览器中输入新服务器的IP地址来访问我的新服务器。
 
为此,我将通过单击magento-master数据库来刷新phpMyAdmin-这将使我能够查看刚导入的所有表。然后,我需要core_config_data通过单击打开表。
 
现在,有4个值需要引起我的注意。前两个相当明显。路径名是web/unsecure/base_url和web/secure/base_url。如您所见,这些值是我最初使用的域名。一个带有HTTP前缀表示不安全,另一个带有HTTPS前缀表示安全。
 
通过双击值(像这样),我可以删除域名并将其替换为新服务器的IP地址。保留前缀和后缀非常重要,否则将无法正常工作。因此,您可以看到我如何在开头保留了HTTP://,在结尾保留了/。
 
接下来的2个路径名称称为web/secure/use_in_frontend和web/secure/use_in_adminhtml。如果原始服务器具有SSL证书并强制使用HTTPS,则这些值将设置为“ 1”。当您在未安装SSL证书或HTTPS设置的服务器(例如我正在使用的新服务器)上将其保留为“ 1”时,尝试加载该网站时该网站将无法工作在您的浏览器中。在这种情况下,两个值都需要从“ 1”更改为“ 0”。在此演示中,我的原始服务器从未启用过此功能-因此,我可以保持原样。
 
如果您只是将网站移至另一台Web服务器并计划保留相同的URL,那么您不太可能希望进行这些数据库修订。相反,您唯一需要做的更改就是使用域提供程序更新服务器IP。
 
结果
最后,现在所有步骤都已完成,是时候清除Magento缓存了。这些步骤将根据迁移时处于开发人员模式还是生产模式而有所不同。
 
(开发人员模式)
因此,假设在您进行迁移时,Magento已经处于开发人员模式,那么您将需要输入以下命令并完成操作:
 
复制到剪贴板
bin/magento cache:clear
(生产模式)
但是,如果您的原始服务器已经处于生产模式(就像我的服务器一样),则需要输入以下3条命令:
 
复制到剪贴板
bin/magento setup:di:compile
复制到剪贴板
bin/magento setup:static-content:deploy en_GB en_US
复制到剪贴板
bin/magento cache:flush
现在,如果我正确地完成了每个步骤,并且在浏览器中输入了新服务器的IP地址,那么我应该会看到站点的副本。只是为了检查,我将加载后端并登录...
 
…就在那里。
 
我几乎忘记了!Cron任务
您需要在新服务器上再次设置这些备份。非常简单。只需以Magento用户身份从Magento目录中运行以下命令:
 
复制到剪贴板
php bin/magento cron:install
概要
好吧,我希望这段视频能教给您一些新东西,并给您信心,让您自己尝试一下。如果您确实遵循该步骤,请务必记住在执行任何操作之前先备份生产服务器。始终特别注意每个步骤和命令,因为我发现大多数伸出援助之手的人都因为他们错过或打错的东西而陷入困境。
 
但是,如果您确实被卡住,或者还有其他想回答的问题,请随时加入“数字创业社区论坛”,本人或其他成员将竭诚为您服务。
 
感谢您的收看,直到下次,请多保重。
 
附录
如何设置文件夹和文件的所有权和组
如果您需要随时更改Magento文件和文件夹的所有权或/和组信息,则需要以以下命令运行以下命令superuser:
 
sudo chown -R [owner]:[group] [directory] (结构体)
sudo chown -R bob:www-data /var/www/html/ (例)
当您遇到“您的密码不符合当前策略要求”时
看到此错误时,只需单击“用户帐户”即可再次开始。这次,请遵循以下规则创建新的强密码:
 
超过16个字符
包含数字
包含大写和小写字符
包含特殊字符
成功完成创建MySQL Magento用户和数据库的步骤后,您现在需要更新包含旧密码的Magento文件。您可以使用nano文本编辑器以magento用户身份使用以下命令来编辑env.php文件:
 
复制到剪贴板
nano app/etc/env.php
在前几行中,您将看到一行,其中包含您的旧密码,例如'oldpassword'。只需将其替换为您的新密码即可。完成后,按Ctrl + X退出,然后按“ Y”并按Enter保存更改。
我要咨询做网站
成功案例
建站流程
  • 网站需
    求分析
  • 网站策
    划方案
  • 页面风
    格设计
  • 程序设
    计研发
  • 资料录
    入优化
  • 确认交
    付使用
  • 后续跟
    踪服务
  • 19118193330
    400-888-9988
Hi,Are you ready?
准备好开始了吗?
那就与我们取得联系吧

咨询送礼现在提交,将获得微互媒网络策划专家免费为您制作
价值5880元《全网营销方案+优化视频教程》一份!
下单送礼感恩七周年,新老用户下单即送创业型空间+域名等大礼
24小时免费咨询热线19118193330
合作意向表
您需要的服务
您最关注的地方
预算
  • 看不清?点击更换

直接咨询