July 14th, 2009 by 张磊
前一篇:blog域名迁移之迁移wordpress 如果说前一篇是和wordpress关系密切的,那这篇文章基本和blog关系不大了。换言之,任何内容为主的网站更换域名,都可以参考下这篇文章的内容。如果我写得还有什么遗漏,欢迎大家补充。 1、通知Google 与搜索引擎相关的内容,最重要的是301跳转,这一点昨天已经提到。但是Google还提供了进一步的服务,我们有必要利用好。 首先登录到Google Webmaster,到原来域名的页面(我的是blogkid.cn)。可以看到如下菜单项: Google提供了一个“Change of address”的功能,也就是说,如果域名发生了改变,可以在此处告诉Google。当然,更换后的域名,也需要添加到Google Webmaster并通过验证。 在“Change of address”里,我选择将www.blogkid.cn更换到www.blogkid.net。保存以后,会有如下结果: 实际上,配置301跳转只是一种被动的办法,搜索引擎在相当长的一段时间后(之前Google的承诺是6到8周)才会更新域名。而在Google Webmaster提交则非常主动。我在更换域名当天提交了这些信息,在下午就发现Google已经收录了将近30个来自blogkid.net的网址。 2、更改开放目录中的信息 这里主要说DMOZ吧,别的开放目录应该也差不多。之前的blogkid.cn被DMOZ收录了,但更换域名之后就需要更新信息。DMOZ提供了这样一个表单用于更新信息: 提交之后,还需等待编辑员审核通过。DMOZ中的信息相当重要,不仅Google、Yahoo!在使用,Alexa和国内的百度也都会引用其中的信息。很有必要保持信息最新。 3、来自Google的提示 在Google提供的”Change of address”页面左下角,有一些相关的文档,其中一篇Moving your site谈到了一些需要注意的细节,值得一读。其大意可归纳为: 将迁移域名与网站的redesign分开,使用户可以平滑过渡。 使用301跳转,并且不要把所有请求都定向到一个页面。举例来说,在用户访问blogkid.cn/archives/2046.html这个地址时,要将其定向到blogkid.net/archives/2046.html,而不是全都指向blogkid.net。 检查自己网站的内链和外部给出的链接。最好能通知其他网站把链接指向新的域名。如果这很难做到,也需要参照第二条,使用301跳转到新的地址。 最好将旧的域名保留至少180天,以使Google可以更新索引(这里对别的搜索引擎应该也一样)。 总地来说,和搜索引擎打交道,是一件长期的事。在等待搜索引擎、开放目录更新的同时,也有必要行动起来,把任何可以修改的地方的旧地址更换为新地址,比如Twitter、Flickr、LinkedIn甚至是Google的Profile;如果使用了feedsky或是feedburner,记得也更改一下feed源地址,免得哪天突然就看不到自己写的文章了。 最后打个广告,加了我链接的朋友们,如不介意,请拨冗修改链接地址为www.blogkid.net吧。多谢了。
July 13th, 2009 by 张磊
更换域名更多时候是体力活儿,但是用法得当,可以省力不少。所以我打算写几篇文章,写写自己迁移域名(从blogkid.cn到blogkid.net)的全程。先写迁移wordpress。 迁移wordpress主要涉及到3步: 1、数据备份 如果服务器上装有phpmyadmin,可以直接导出一下。使用shell的朋友,可以用如下命令来备份数据: mysqldump -u dbuser -pdbpass -h dbhost dbname | gzip > backup.sql.gz 把相应位置的dbuser, dbpass, dbhost和dbname替换为数据库用户名、密码、数据库服务器以及要备份的库名。最后得到的backup.sql.gz,就是一份完整备份。 插一句,我把备份的文件解压一看,居然有12M之巨。如果10%是有效内容的话,我这4年已经写了1.2M字节,相当于60万汉字了。 2、配置Web服务器 在这里需要牢记一点:使用301跳转,而不要用默认的302(refer)。 配置Web服务器的目的是,将访问原有域名的请求引导到新的域名。301跳转是永久重定向,而302跳转是暂时重定向。前者对搜索引擎更为友好。 以我从blogkid.cn迁移到blogkid.net为例,在nginx中做如下配置: server { listen 80; server_name blogkid.cn blogkid.net www.blogkid.cn; rewrite ^/(.*) http://www.blogkid.net/$1 permanent; } server{ listen 80; server_name www.blogkid.net; …… } 第一段的配置是将blogkid.cn,blogkid.net以及www.blogkid.cn的请求都重定向到www.blogkid.net下面。而第二段是用www.blogkid.net替换原有的www.blogkid.cn,其他部分不用改变。注意到在使用rewrite时,加入了permanent关键字,可以使nginx发送301重定向。 如果使用apache,配置也类似,在rewrite时可加入参数R=301。 保存之后重启web服务器,使配置生效。 3、修改数据库 这也是对wordpress进行迁移的最后一步。需要注意,在完成第二步之后,wordpress会暂时无法打开,原因大家可以自己考虑一下。如果觉得不太好,把这一步提到前面也可以。或者可以先修改好配置文件,等第三步完成了再重启web服务器。 修改数据库主要修改3部分,语句可以在phpmyadmin或者mysql命令行中进行,整理自此处。 (1)修改站点地址、主页地址: UPDATE wp_options SET option_value = [...]
March 30th, 2009 by 张磊
本来打算给我放在扬州电信的独立服务器续费的,但是上周我服务器居然毫无征兆地被关了。之后才知道是我写的这篇《可怜的大学生》被盯上了。在我保证会删掉文章后,服务器才重新被打开。自从要严打没有备案的网站以来,我关掉了自己所有没备案的网站,但还是三天两头被折腾。我知道这不能怪IDC,只好决定把网站“搬回”美国。 我选择了Linode的VPS,540Plan,迁移成功后网速和服务器速度都非常快。我也把那篇被迫隐藏的文章没做任何修改再次打开,大家可以看看,我不觉得自己的文章有什么问题。作为一个共产党员,不隐瞒自己的观点,我要向折腾我的傻B说:有本事来关我的服务器吧,要是您关不掉,动用GFW也成。 发牢骚完毕,我简单说一下迁移到Linode的过程;如果你熟悉linux,我估计从购买Linode到blog迁移完成甚至不会花掉1个小时。 先到Linode首页,右上方有个“Sign Up”的链接。注册需要填写信用卡信息,并且选择一个Plan,如果只是个blog,每月$19.95的360 Plan已经足够用了。提交后就会提示要刷掉多少多少美金,再下一步,账户已经创建成功并被激活,当然,相应的美金也被刷掉了。 之后登录进入DashBoard,需要选择Linode放置的机房。我选了fremont,据说速度非常快。之后会进入“Distro Wizard”。这个向导非常简洁,选择好想要的Linux发行版(我选了Ubuntu 8.10),设置了内存、Swap和硬盘的大小,最后给root设置个密码,点“create profile”,系统就配置好了。 回到DashBoard,会看到已经配置好的Profile,点“boot”。稍等片刻系统启动后,用root用户和刚才设置的密码连一下ssh,应该可以连上了。 完成以上的步骤最多15分钟。之后可以开始安装必要的软件。在ubuntu下用apt-get很方便,LAMP可以全用apt-get就装好。正如我开头说的,如果只是迁移一个blog,甚至不会花掉一个小时。 Fremont机房的速度很快,我特地装了一个测试速度的工具。测试结果如下: 把上面的数字除以8,就是我们通常意义上的KB/s了。如果大家有兴趣,可以在这里测一下到我Linode的速度。