很早之前便购买了阿里云的 ECS服务器,也在上面搭建过自己的网站,但是后来由于自己技术有限经常会遇到很多问题便又将网站搬迁到了虚拟主机上,想来服务器闲着也是闲着,决定用它搭建一个测试站,测试程序的同时更多地了解服务器方面的知识以备日后所需。虽然是测试站点,上面也须有些东西以方便查看效果,于是决定将本站迄今为止的内容迁移过去,同时记录下迁移的过程希望能够帮助到需要进行网站迁移的朋友。
网站数据库备份
网站迁移的实质其实就是将网站的数据信息,网页文件等迁移至一个新的地方。所以说在网站迁移之前我们需要将原网站的数据库信息、网站的网页文件及媒体文件等与网站相关的一切内容进行备份处理并下载或转存到新服务器上。
阿里云虚拟主机的后台控制面板提供数据备份与恢复的功能,我们可以通过这里将整站的数据进行备份。登录阿里云并进入虚拟主机管理控制台,点击“工具&服务/备份恢复/备份站点”开始备份网站数据。
将网页文件及 MySQL 数据库两项全部勾选上,然后填写当前备份的备注信息,点击确定按钮后既可以开始备份网站。根据网站的大小不同备份的时间有所不同,大家只要耐心等待网站备份完成即可。
备份完成后我们分别将网站的数据库文件及网页文件下载下来以备后用。除了手动备份,阿里云虚拟主机也会自动备份最近三天的网站数据信息,如果你不想手动备份也可以直接提取并下载自动备份的内容亦可。
配置服务器环境
云服务器类似于一台全新的计算机。要将网站搬迁到新的服务器上我们需要对新服务器配置运行环境,这里我是使用的阿里云推荐的一键安装包安装的服务器环境,具体流程大家可参照阿里云官方文档中部署 Web 环境的方式进行部署,同时也可参照我之前写过的 “阿里云Linux一键安装web环境”安装WordPress删除PHPWind方法 的这篇文章自定义网站的迁移位置。这里我是将数据库管理程序 phpmyadmin 移至 www 文件夹下了,并且在 www 文件夹下新建了个名为 wordpress 的文件夹用于存放此次网站迁移的网页文件。
网站迁移开始
通过 Xftp 上传网页文件
我们将网站数据库备份中下载下来的网站备份文件解压并通过 Xftp 工具上传至“/alidata/www/wordpress”文件夹中,注意从虚拟主机下载下来的文件加压后文件夹为网站根目录的 htdocs 文件夹,我们只需要上传该文件夹内的内容至服务器 wordpress 文件夹中即可。
上传完网站文件,我们还需要去 /alidata/server/httpd-2.4.10/conf/vhosts 里配置一下服务器中虚拟主机的信息,这里我新建了一个 wordpress.conf 文件,并在其中添加如下代码然后直接丢在 vhosts 文件夹中即可。这里我是这样理解的,每一个服务器上可以配置多个网站,而每一个网站实现的机理就是通过虚拟主机,vhosts 文件夹中每一个文件(个人习惯独立建立对应文件,其实也可以把内容写在同一个文件中)指向 /alidata/www 中的每一个独立网站的文件夹来实现不同域名解析到不同网站上。
- <DirectoryMatch "/alidata/www/wordpress/(attachment|html|data)">
- <Files ~ ".php">
- Order allow,deny
- Deny from all
- </Files>
- </DirectoryMatch>
- <VirtualHost *:80>
- DocumentRoot /alidata/www/wordpress/
- ServerName test.quietguoguo.com
- ServerAlias localhost
- <Directory "/alidata/www/wordpress/">
- Options FollowSymLinks
- AllowOverride all
- Order allow,deny
- Allow from all
- </Directory>
- <IfModule mod_rewrite.c>
- RewriteEngine On
- RewriteRule ^(.*)-htm-(.*)$ .php?
- RewriteRule ^(.*)/simple/([a-z0-9\_]+\.html)$ /simple/index.php?
- </IfModule>
- ErrorLog "/alidata/log/httpd/wordpress-error.log"
- CustomLog "/alidata/log/httpd/wordpress.log" common
- </VirtualHost>
上面代码中的 ServerName 用来设置绑定的虚拟主机域名及端口,这里我设置了一个测试域名 test.quietguoguo.com ;ServerAlias 用来设置其他别名,比如你的网站需要解析多个域名就可以将其他域名填写到这里。如果想了解这两个参数的具体信息可查看官方文档:
- ServerName:http://httpd.apache.org/docs/2.4/mod/core.html#servername
- ServerAlias:http://httpd.apache.org/docs/2.4/mod/core.html#serveralias
配置完上述内容后我们需要重启Apache服务才可生效,正规来说可以使用 service httpd restart 命令进行重启,当然你也可以简单粗暴一点直接登录阿里云ECS服务器后台直接重启ECS服务器。
上传数据库信息
一个网站完整的迁移不仅仅是网站文件的迁移,我们还需要把网站的数据库文件一同进行迁移。通过一键安装包安装的服务器环境使用 phpMyAdmin 进行数据库管理,我们需要登录这个数据库进行数据表的创建并导入原网站的数据库备份文件。
登录 phpMyAdmin 并点击左侧的 New 即可创建一个新的数据库,数据库名自定义,我这里设置为 QuietGuoGuoTest 这个名要记住后面会用到,编码方式选择 utf8_general_ci 即可。
创建完数据库后我们选中新创建的数据库然后点击导入选项,设置好上传的文件、字符集、格式等信息即可开始导入原网站的数据表信息。
由于网站迁移可能会出现很多意想不到的问题,这里建议大家网站迁移时保留原网站正常访问并测试迁移后的网站一段时间后再完全移除原网站。上传完成后我们找打数据表的 wp_options 这个数据表并定位到 siteurl 与 home 这两项,修改其中的地址分别为测试域名的地址,这里我将其修改为 http://test.quietguoguo.com/wordpress 与 http://test.quietguoguo.com/ (我习惯于将WordPress安装在站点的子目录wordpress下方便于日后管理)
将数据库信息导入新数据库后,我们需要修改 wp-config.php 文件中的数据库配置迁移后的网站才能正常调取网页信息。一般只需要修改下面几项就可以了,这里推荐大家看一下我之前写的这篇文章方便理解>>> WordPress基础配置文件wp-config.php详解 。
- /** WordPress数据库的名称 */
- define('DB_NAME', '你的数据库名比如我上面设置的QuietGuoGuoTest');
- /** MySQL数据库用户名 */
- define('DB_USER', '登录PHPMyAdmin的用户名');
- /** MySQL数据库密码 */
- define('DB_PASSWORD', '登录PHPMyAdmin的密码');
- /** MySQL主机 */
- define('DB_HOST', 'localhost');
- /** 创建数据表时默认的文字编码 */
- define('DB_CHARSET', 'utf8');
- /** 数据库整理类型。如不确定请勿更改 */
- define('DB_COLLATE', '');
设置域名解析
完成上述步骤后我们还需要在 DNS 服务商处设置域名解析,将域名解析到服务器的 IP 地址上,然后服务器会根据我们的域名通过上面设置的 vhost 文件夹中的文件信息内容确定具体要将域名解析到那个文件夹上。这里我们是要建立一个测试站点,并且对于新迁移的网站博主也建议新建一个测试域名先解析上测试一段时间测试没什么问题后在将域名解析过来。这里我是将 test.quietguoguo.com 解析过来的,稍等一会儿等解析生效后通过访问该域名即可看到下面这种效果。
至此,网站完整迁移完毕。如果你还有什么不理解的地方欢迎留言哦~~~
历史上的今天:
- 2016: 自媒体人的五项修炼之三:个性修炼
- 2016: FLASH视频自适应宽高度及添加相应自定义按钮教程
- 2015: 跑步是一种让你接近神的方式!
- 2015: 代码实现WordPress统计功能(评论总数/建站天数等)
- 2015: 如何利用某游戏视频热门评论引流操作CPA
原文地址:http://blog.quietguoguo.com/1951.html
温馨提示:文章内容仅代表作者个人观点,不代表boke112导航赞同其观点和对其真实性负责!
版权声明:本文为投稿文章,感谢 蝈蝈要安静 的投稿,版权归原作者所有,欢迎分享本文,转载请保留出处!
发表于2018-01-09 23:44 18楼
第一步:备份网站文件到本地
![[嘻嘻]](https://boke.yigujin.cn/wp-content/themes/Three/images/smilies/2.gif)
![[偷笑]](https://boke.yigujin.cn/wp-content/themes/Three/images/smilies/4.gif)
第二步:导出数据库到本地
第三步:配置好ECS环境并解析域名
第四步:上传网站文件
第五步:通过MyPHPAdmin程序导入数据,
完结 哈哈 别喷我哈
其实要是会的话很简单 没有必要这么麻烦吧,不需要配置wp-config.php吧,因为数据库名和密码你可以不变的嘛
@佳软盒子其实就是会者不难,成功搬家一次之后第二次第三次都毫无压力
发表于2018-01-01 22:21 17楼
感觉还是有点麻烦,要是阿里能提供网站快照功能,发键快照的形式迁移就好了,我也有个站是用虚拟主机的,最近想新买服务器迁移
@365生活网现在阿里云快照要钱啊
@银色月航要钱的快照是那些需要实时快照和快照频率很高的才收费的!普通快照备份一直都是免费的!
发表于2017-12-30 11:30 16楼
看来你的网站发展不错哟!
发表于2017-12-29 23:02 15楼
狠厉地说
发表于2017-12-29 16:02 14楼
没有技术的我流下了眼泪,只好用比较方便的虚机了
发表于2017-12-29 15:16 13楼
学习了
不过我一直用的比较方便的虚机
发表于2017-12-29 14:37 12楼
直接安装一个面板来的快
发表于2017-12-29 14:35 11楼
只会玩虚拟机,其他的不会玩啊
发表于2017-12-29 13:44 10楼
一直在用虚拟主机,以前试过vlutr,结果不会用,上ssr程序,连接了一次就被屏蔽了,好在钱还给我了,
不过我们这种不懂技术只好这么瞎看看
发表于2017-12-29 11:57 9楼
用虚拟主机建站,数据大了确实很麻烦啊
@历史趣谈是的,不过好在备份和迁移很方便!
发表于2017-12-29 11:41 8楼
多谢教程,我刚好需要
发表于2017-12-29 11:25 7楼
今天早上访问有问题,跟迁移有关吗
发表于2017-12-29 10:31 6楼
新手小白学习了,我直接用的就是ecs。
发表于2017-12-29 10:30 5楼
很详细啊,可以收藏以后备用啊!
发表于2017-12-29 10:10 4楼
谢谢作者,干货!!
发表于2017-12-29 08:30 地板
不错,多谢分享!先赞一个!
![[赞]](https://boke.yigujin.cn/wp-content/themes/Three/images/smilies/36.gif)
发表于2017-12-29 07:38 板凳
ECS更适合折腾!虚拟主机就是简单!
发表于2017-12-29 07:36 沙发
不错,这个很适合小白使用!![[呵呵]](https://boke.yigujin.cn/wp-content/themes/Three/images/smilies/1.gif)