WordPress网站迁移教程
顶不住电信时不时的DNS劫持,也受够了花生壳免费级的故障率。
放弃了本地虚机+花生壳的配置,重新踏上了IDC的不归路。
不过这次选的是国内的服务器。
原因很简单:再也不用忍受海外那上千的ping值啦!
至于是虚机,还是VPS,看个人吧,反正对我来说,VPS太浪费了。
这次依旧选的是Linux服务器。为什么要选Linux?
对于WP用户来说:访问速度快是其一,同时URL的rewrite机制要胜于win系统。
废话不多说,切入正题。
要从A空间迁移到B空间。有2种情况,代表你手上拥有的资源:
1) A空间+a域名,B空间+b域名
2) A空间+a域名,B空间+a域名
假设我现在有个A空间存放着网站,同时绑定着顶级域名,
现在要换到B空间去挂网站,要么重新配个域名,要么沿用原有的域名。
当然,第一种情况是几乎不会存在的,因为即便新配一个域名在新空间。
老域名还是可以继续解析到新空间的,没有人会这么浪费一个域名让它闲置吧。
所以我们就按照A空间+a域名,B空间+a域名(b域名)的方案来介绍。
站点内容及数据库迁移
1.首先登录A站的FTP,把A站里对应的wordpress目录整个下载到本地。
如果wordpress是直接安装在根目录的,就直接下载上一级目录,一般是www或者wwwroot。
2.登录B站的FTP,把下载下来的整个目录上传上去,
同样的,要么直接上传到根目录,要么上传到某个文件夹,这个随意。
这点会影响到之后的访问设置,之后再说。
3.打开A站wordpress目录下wp-config.php文件,记事本,UE,Editplus,随便。
找到以下内容:
define('DB_NAME', 'AAA'); AAA为A站的MySQL数据库名
define('DB_USER', 'BBB'); BBB为A站的数据库用户名
define('DB_PASSWORD', 'CCC'); CCC为A站的数据库密码
define('DB_HOST', 'DDD'); DDD为A站的数据库主机名,一般为localhost,多数情况下不用改
以上AAA,BBB,CCC,DDD请记住。
4.打开B站目录下对应的wp-config.php文件。
将以上AAA,BBB,CCC,DDD修改成b站数据库的记录,服务商都会提供数据库信息。
然后上传到B站。
5.打开A站的phpmyadmin,找到wordpress对应的表,例如wordpress,点击。
然后点击上方导航栏中的导出,基本不用改内容,确认导出格式为SQL即可,保存至本地。
6.打开B站的phpmyadmin,点击导入,即可将刚才备份的表整个导入,且名字不变。
7.在B站phpmyadmin里找到对应的数据库名下的表,类似于wp_option,
找到第一行siteurl,改成对应B站的域名地址,一般空间上会提供一个免费的二级域名。
8.访问B站的地址:免费的二级域名/wp-admin,将设置-常规中的两个URL地址改成一致。
至此,网站配置基本ok。可以通过二级域名尝试下是否可以正常访问。
之前提到的,到底上传到空间根目录还是,二级目录,其实差别就在:
访问的时候是直接输入域名就可以访问,还是要价格子目录才能访问,类似于:
免费的二级域名/wordpress。当然,推荐是直接放置在根目录。
域名解析设置
域名解析这东西,其实很简单。
但是天朝有个恶心的规定,就是需要工信部备案,除非你买的海外空间,那就另当别论。
域名在备案没有完成的情况下,是不能用于绑定主机空间的。
具体如何备案,这里就不再赘述了,一般IDC商都有专门的站点提供备案,
实在嫌麻烦的可以在淘宝上花点小钱请人帮忙。
在一切手续完备后。
在a域名注册商处修改DNS服务器为b域名注册商的DNS服务器地址。
然后添加www的CNAME记录绑定B站的免费二级域名或A记录的独立IP,
一般24小时以内,就可以通过a域名访问B站的内容了。
如果是在B站购买的b域名想要一起绑定就更简单了,
直接在B站的域名管理页面绑定到B空间就好了。
这样a,b两个域名就都能访问B站了。
以上。
[…] 2014/06/26 by UStone · Leave a comment 首先需要说一下LAMP+wordpress的硬件配置: 1. phpMyAdmin的配置 安装好之后,由于Linux有链接目录的说法,所以不像Windows上直接拷贝phpMyAdmin到www目录下,这里的做法是: 创建phpMyAdmin的主目录到www下的链接,使用ln命令。 在安装好的phpMyAdmin目录下有一个config.sample.inc.php。将其改名为config.inc.php,并设置其中的一些选项,具体参考网上的资料。 然后重启Apache服务:service httpd restart 2. wordpress配置,参考[D.2] 网上提供的方法都是下载wordpress并解压到Apache根目录www下,但是我已经先下载并安装了wordpress,所以只好做一个符号链接文件blog,把装好的wordpress主目录链接到Apache根目录下了。ln /var/www/html/blog /usr/share/wordpress 基本上安装配置wordpress的过程是: 首先,你需要配置好php,Apache,phpMyAdmin 第二步,开始下载wordpress,并安装。我用的方法是直接yum install wordpress,而不是网上多数人说的tar解压到/var/www/下的方法。 第三步,使用phpmyadmin,或者其他方法在mysql里面建立一个要使用的数据,不需要建表。配置位于/etc/wordpress/wp-config.php文件,主要就是[D.2]中说的,关于数据库的配置。还有一些安全密钥的配置(这个我没有配)等。 第四步,打开Wordpress自带的安装页面,按要求添加数据库名,密码,用户信息。之后确认就可以在第三步中创建的数据库中建立好需要的数据表。 有个疑问:不知道为什么必须把wordpress文件夹放在Apache的www/html/目录下才能访问,放在www/下不能访问。估计是有什么地方配置了? 我用http://wangzhan.360.cn/heartbleed测试了一下OpenSSL,提示说可能没有开启https服务,下一步看下,如何开启https服务。 目前网站运行太慢了,不知道什么原因。 安装好之后是这一个样子: 但是马上碰到了第一个问题: 发布blog,无法上传图片,提示Unable to create directory wp-content/uploads/2014/6. Is its parent directory writ…,网上找了一堆解决办法,说是文件件权限的问题,给出的方案是把www的访问权限修改为777(参考[D.3]),我试了下发现的确可行了。具体是这样的: 我的文件目录结构是:www/html/blog/wp-content,于是我为了安全没有直接chmod -R 777 www,而是沿着这个目录的路径,把wp-content向上到www的文件夹权限修改为了777,修改之后确实可以创建新文件夹了。但是这样做了之后还是感觉不安全,于是我看了一下,发现uploads目录的访问权限是777,所以我试着把wp-content向上到www的权限又改回755,保留uploads的访问权限为777,发现这样也是可以上传文件的。over!所以,最后发现[D.4]给出的方案才是正确+安全的。 碰到的第二个问题,在后台中使用FTP的方式安装主题没有成功,老是提示有各种问题,比如说FTP链接失败,我在wp-config.php中添加了下面的代码: 之后,FTP链接倒是没问题了,不过,提示说没有权限创建目录。总之问题没解决。 后来,我用FTP工具,按照官网上的说法直接上传到themes目录下,就可以了! 这个方法真简单。但是前提是,你需要先下载后上传。 再后来,发现使用ftp工具来解决这个问题不是个办法,很多的插件、主题直接可以在后台进行操作,使用FTP工具无疑是绕道了! 最后还是要说一下wordpress这个速度啊!实在是不敢恭维。有一些速度优化方面的文章。 使用top命令查看发现,是httpd占用了大部分的内存。见下图: 于是找到了[D.10],其中提到了多个对Apache进行内存优化的说法。 今天(2014.6.26)发现博客加载慢的原因是加载谷歌的一个css,因为这短时间谷歌被封了,所以这个css最终是超时发生错误了。网上有人给出一个解决方案。参考[D.15] 这个解决方案中,正如有一个评论者说的那样直接修改是不能解决问题的,因为googleapi用的地方太多了,而且作者说的使用代码版的Disable Google Fonts的方法描述不完整,所以只能下载那个插件; 由于个人感觉WordPress运行太慢,而且看Apache的内存占用量好像很大,所以想到了换用nginx,但是这样需要考虑一些问题:于是找到了文章[D.11] nginx对php的支持,貌似不太行,这一点不如Apache。不过轻量级这个是个不错的地方。 既然有了个人的网站就可以折腾一些东西了,于是我先准备打一个svn服务器。参考[D.13]。至于svn的详细配置,比如说配置人员的权限等,参考[D.14]。 骆振推荐了一个Linux管理系统WDCP。具体安装过程和界面可以参考[D.12]。 这几天又发现ssh经常断开不是公司网络的问题,而是服务器上ssh的设置问题。参考[D.16]。 这几天又发现ssh经常断开不是公司网络的问题,而是服务器上ssh的设置问题。参考[D.16]。 关于WordPress应该安装的插件,参考coolshell的。 如果哪一天不想使用WordPress了,或者不想用原来的主机了,需要迁移,那么可以参考[D.17]。 想要高级点,快一点,不想忍受WordPress的龟速,试试octopress,参考[D.6]。 以上修改好了之后,发现我把wordpress放在了”/var/www/html/blog/”(这里的blog原来就是下载下来的wordpress根目录)下面,想要访问我的博客非要把域名写成:www.devfan.net/blog/,后来查找资料问人之后发现可以通过配置Apache的虚拟主机来实现直接访问域名www.devfan.net来访问/blog下的文件的目的。具体参考的是[D.18]。下图是我的配置: 这里有一点要说清楚,如果你在配置wordpress的时候设置了: /** set wordpress siteur */ define(‘WP_HOME’, ****); define(‘WP_SITEURL’,****); 这两项,那么wordpress是不会请求数据库来访问wordpress的主目录的,如果以为修改了数据库中wp_options的siteurl和home就可以更新了,那就大错特错了。这时候要么注释掉这两行,在数据表wp_options中修改siteurl和home;要么改掉这两行,wordpress也就不用请求数据库了。 Doc [D.1] 正确phpMyAdmin安装配置 [D.2] 玩转WordPress配置文件 [D.3] linux+nginx+php+mysql配置教程【超详细图文教程】 [D.4] WordPress 安装插件 提示 “无法创建目录” [D.5] 如何加快WORDPRESS的奔跑速度 [D.6] 服务器端 Octopress 搭建及移动方案, Octopress 安裝筆記,从wordpress到octopress [D.9] 8个简单方法提升WordPress速度 [D.10] 针对WordPress对你的Apache VPS进行优化 [D.11] Apache与Nginx的优缺点比较 [D.12] Wdcp linux服务器系统安装及设置图文解说 [D.13] CentOS-6.3安装配置SVN [D.14] svnserver配置文件详解,SVN搭建和使用手册,SVN使用手册大全(史上最全),SVN权限精密配置 [D.15] 解决WordPress一直加载fonts.googleapis.com [D.16] SSH自动断开连接的原因 [D.17] WordPress转移服务器流程,WordPress网站迁移教程。 […]