标签 DigitalOcean 下的文章

将Blog迁移到DigitalOcean的VPS上

自从2012年初将Blog从Blogbus搬出来放到同事代理的虚拟主机上后,Blog运行一直很稳定,我也算 是比较满意。但同事的主机代理生意这两年来每况愈下,这促使他在前些时候做出了在今年年末放弃这门生意的决定,于是我又不得不为Blog另找落脚儿地了。

这次不想再单纯的买Wordpress虚拟主机了,一来功能有限,二来国外的入门级VPS价格已经与虚拟主机价格逐渐缩小,尤其是像 DigitalOcean这样的后起之秀,5$/mon的入门级配置VPS基本可以满足我的应用。于是DigitalOcean VPS就成为了我的购买目标。DigitalOcean这两年推广力度大,其Promo code的优惠有时可达20$以上,去年黑色星期五当天就给出了50$的优惠码。于是我期望着今天(2014黑色星期五)DigitalOcean的 50$优惠码能再现江湖。

但事与愿违,当时间走入美国当地时间星期五后,网上哪些所谓50$的Promo code依旧无法正常使用。无奈只能退而求次,使用"SHIPITFAST10"这个10$的优惠码,对于入门级VPS来说,10$也够试用两个月的了。

Digital Ocean VPS的注册和购买流程非常简单,按照官方提示一步一步做即可。这里要注意的是如果选择信用卡支付,务必一次填对信用卡信息,否则account就会短暂 无法使用,你需要fill out一个Form,提交给客服人工验证才能解除对你account的封锁。

接下来就是稍详细的说明Wordpress blog迁移到Digital Ocean VPS的步骤了,希望能对大家有所帮助。

一、备份WordPress Blog

网上关于迁移WordPress的方法有许多方案,之前在测试将WordPress迁移到Docker容器中时,我采用的是数据表导出导入+WordPress程序覆盖的方式,这次我依旧采用此方法。

现有的Blog用的是DirectAdmin的后台管理面板,支持全站备份,备份后的文件为:backup-Nov-27-2014-1.tar.gz。这个压缩包中有两个重要的组件(解压后你就可以看到):

    – backup/tonybai_db.sql
    – domains/tonybai.com/public_html/

   
我们要迁移的就是这两个组件。第一个.sql文件就是我们导出的数据库表,需要导入到新主机中的新库中。而第二个则是Wordpress安装后的文件集合,用于直接覆盖目标主机上对应的Wordpress文件包的。

二、创建Digital Ocean VPS Droplet

在填写完信用卡,利用优惠码充值账户成功后,就可以创建Droplet了。Droplet是DO的术语,理解成一个VPS实例即可。Droplet的创建 体验不错,DO已经准备好了各种VPS常用的应用组合以及OS供选择。我选择了5$/mon的Ubuntu 14.04 x64 + WordPress的组合,机房选择San Francisco 1。确认后,DO会开始创建Droplet操作,不到1分钟,Droplet就创建完毕了。如果不用ssh key,则VPS的root密码会发到你的注册邮箱中。有了root和密码,我们就可以通过"ssh root@YOUR_VPS_IP"访问你的VPS了。

首次后台登陆VPS,VPS会强制你修改root登陆密码。

三、初始安装WordPress

现在我们的VPS上已经安装好了WordPress运行所需要的所有软件了,包括apache2、mysql等。修改/etc/hosts,将自己的域名tonybai.com映射为VPS IP。

访问tonybai.com,WordPress的自安装程序启动,按照提示一步一步即可安装好Wordpress,这里带的Wordpress是4.0.0版本(注意:我们后续是要覆盖掉这个 WordPress的)。

安装好后,再访问tonybai.com就可以看到默认安装后的一篇example blog了。

现在我们进入tonybai.com/wp-admin页面,Apache弹出一个登陆框,在DO官方文档提到过,/wp-admin初始情况使用了 apache的.htaccess credential保护机制了,我们需要输入用户名密码才能进入wp-admin页面。这个用户名密码就在/root/WORDPRESS里。

四、导表

接下来,我们先将backup/tonybai_db.sql导入mysql数据库。

mysql的数据库访问密码在/root/.my.cnf中,用户名是root。

管理mysql我们更多使用phpmyadmin工具,于是通过apt-get install phpmyadmin -y安装一个。

为了通过Web页面访问到phpmyadmin,我们还需执行以下两个步骤:

 在/etc/apache2/apache2.conf尾部添加一行:
        Include /etc/phpmyadmin/apache.conf

 重启apache2:service apache2 restart

之后通过tonybai.com/phpmyadmin访问phpmyadmin工具。登录时使用mysql的root和密码即可。

进入phpmyadmin后,我们可以看到前面的Wordpress安装过程在mysql中建立了名为wordpress的数据库以及名为 wordpress的数据库用户。但我之前的blog使用的数据库用户和数据库并非wordpress,而是tonybai_user和tonybaidb,于是我们需要自己创建 tonybaidb数据库以及tonybai_user这个数据库账号。

创建tonybaidb时,注意使用utf8_general_ci字符集。

创建tonybai_user数据库账户时,注意其权限仅局限于localhost发起的访问以及tonybaidb这个数据库,其密码设置为原blog wp-config.php中的数据库密码。

由于phpmyadmin导入的文件不能超过2M,因此我们只能通过后台导表:

    mysql -u root -p
    mysql> use tonybai_db
    database changed
    mysql> source ./tonybai_db.sql

五、替换Wordpress安装文件

默认下wordpress安装到了/var/www下。我们需要将domains/tonybai.com/public_html替换掉/var/www目录:

cd /var
mv www www.bak

将domain/tonybai.com/public_html cp到/var/下,改名为www

chown -R www-data www
chgrp -R www-data www

剩下的就是访问tonybai.com即可。

是不是熟悉的页面和风格又展现在你眼前了!

六、创建SnapShot

DO提供两种备份方式Snapshot和Backups,其中Snapshot目前还是免费的,但backup服务是要付费的。Snapshot创建的前提是先stop这个Droplet。建议导入blog、访问正常后,马上建立一个Droplet的Snapshot。

七、其它

由于是入门型VPS,其内存仅有512M,并且默认情况下Ubuntu 14.04 VPS没有创建Swap,考虑到VPS的高可用性,我们还是需要自己动手创建一些swap空间,以供不时之需,创建步骤很简单,执行下面命令即可:

fallocate -l 512M /swapfile
mkswap /swapfile
swapon /swapfile

swapon -s  查看一下当前swap,可以看到:
Filename                                Type            Size    Used    Priority
/swapfile                               file            524284  0       -1

另外调试过程中发现访问tonybai.com/feed出现如下错误:
Forbidden:
    You don't have permission to access /feed/ on this server.

Google、Baidu许久才发现真正问题所在:我的旧Blog目录下有一个feed子目录,把这个目录删除即可。

Go,5周年

2014年11月10日(美国当地时间),Golang官方博客 放出了Andrew Gerrand的一篇博文《Half a decade with Go》来纪念Go语言发布五周年。文章按时间顺序简要描述了Golang这五年来发展的 点点滴滴,并让全世界Gopher看到了Go可期的光明未来。考虑到这篇文章在墙外,不便于国内Gopher阅读,这里给出中文翻译版,希望能给中国大陆 的Gophers带来些帮助!

五年前,我们启动了Go语言项目。我们准备发布第一版时的一幕仿佛就发生在昨天似的:我们的官方站点用的是一种可爱的黄色色调,我们将Go语言称为一门 “系统编程语言”,你需要使用分号作为语句结束标志,使用Makefile来构建你的代码。我们不知道Go语言是否能被大家接受。人们会分享我们的目标和 愿景吗?人们会发现Go语言有用吗?

起初,我们的发布引起了一阵关注。Google发布了一门新的编程语言,每个人都渴望探究它一番。一些程序员因为Go相对保守的功能特性集合而选择了放 弃,Go给他们的第一印象就是:没有什么新鲜玩意儿!但另外一小群程序员则看到了这个为软件工程师量身定做的生态系统的开端。这少数人将组成Go语言社区 的核心。

第一版发布后,我们花了些时间向社区传达Go语言背后的目标和设计理念。Rob Pike在官方的《Go at Google: Language Design in the Service of Software Engineering》一文中对此进行了生动地表达,并 在其个人博客文章《Less is exponentially more》中做了进一步的阐述。Andrew Gerrand的《Code that grows with grace》(Slides在这里)和《Go for Gophers》(Slides在这里)对Go的设计哲学又给出了更有深度和技术性的说明。

随着时间的推移,积少成多。这个项目的转折点出现在2012年3月Go 1发布时。Go 1为程序员们提供了可以信赖的稳定的语言和标准库。到2014年,Go项目拥有了上百的核心贡献者,其生态圈中拥有了数不尽的第三方库和工具 ,并由成千上万的开发者维护着。正在发展壮大的社区拥有许多极具热情的成员(或者就如我们所称呼 的:Gophers)。今天,就我们目前的统计分析,Go社区的成长速度远远超出了我们的预期。

Gophers们在哪里可以得到这些呢?全世界目前有很多有关Go语言的“大事”发生。今年我们看到了几个专门的Go技术大会:在丹佛和巴黎举行的首次 GopherCondotGo大 会。FOSDEM的Go DevRoom以及在东京举行的一年两次的GoCon。每次会上来自全球各地的Gophers们都踊跃地展示他们开发的Go项目。对于Go语言开发组来 说,我们很高兴能满足这些分享我们愿景和兴奋的程序员的需求。

在世界各地,还有数十个社区驱动运行的“Go用户组”。如果你还没有造访过你当地的用户组,可以考虑去尝试一下。如果你当地尚没有这类用户组,也许你可以考虑发起一个

今天,Go在云端找到了用武之地。Go出现在了工业向云计算转型的时刻。并且我们兴奋地看到Go正在快速成为这个运动的一个重要组成部分。简单、高效、内 置并发原语和现代的标准库让Go语言尤其适合云端软件开发(毕竟它就是为此而设计的)。一些重量级的开源云项目,诸如Docker和Kubernetes 都是用Go语言实现的,一些运作基础设置的公司,诸如Google、CloudFlare、Canonical、Digital Ocean、Github、Heroku以及微软也都在使用Go语言开发一些重量级的项目。

那么将来会怎样呢?我们认为2015年将是Go语言大爆发的一年。

Go 1.4,除了其新增的特性和bug修正外,它为实现一个新的低延迟垃圾收集器以及支 持在移动终端上运行Go奠定了基础。 预计Go1.4将在2014年12月1日正式发布。我们期望在Go 1.5中能出现新GC的身影,Go 1.5预计在2015年6月1日发布,它将使Go适合更加广泛的应用开发。我们迫不及待的想看到哪些领域的开发者会接受它。

接下来会有更多的Go大事发生。11月15日,GothamGo将在纽约如期举行。2014年1月31日到 2月1日,布鲁塞尔将举行另一次Go DevRoot at FOSDEM。2015年2月19日到21日,在印度班加罗尔将举行GopherCon India大会。最初的GopherCon将在2015年7月份回到丹佛。2015年11月 dotGo大会将再次来到巴黎。

Go团队将向届时到场的所有gophers表示衷心的感谢。为Go语言的下一个五年!

为了庆祝Go诞生5周年,在未来的一个月里,Gopher Academy将会发布一系列由知名Go users撰写的文章,务必要去看看哦。

如发现本站页面被黑,比如:挂载广告、挖矿等恶意代码,请朋友们及时联系我。十分感谢! Go语言第一课 Go语言精进之路1 Go语言精进之路2 商务合作请联系bigwhite.cn AT aliyun.com

欢迎使用邮件订阅我的博客

输入邮箱订阅本站,只要有新文章发布,就会第一时间发送邮件通知你哦!

这里是 Tony Bai的个人Blog,欢迎访问、订阅和留言! 订阅Feed请点击上面图片

如果您觉得这里的文章对您有帮助,请扫描上方二维码进行捐赠 ,加油后的Tony Bai将会为您呈现更多精彩的文章,谢谢!

如果您希望通过微信捐赠,请用微信客户端扫描下方赞赏码:

如果您希望通过比特币或以太币捐赠,可以扫描下方二维码:

比特币:

以太币:

如果您喜欢通过微信浏览本站内容,可以扫描下方二维码,订阅本站官方微信订阅号“iamtonybai”;点击二维码,可直达本人官方微博主页^_^:
本站Powered by Digital Ocean VPS。
选择Digital Ocean VPS主机,即可获得10美元现金充值,可 免费使用两个月哟! 著名主机提供商Linode 10$优惠码:linode10,在 这里注册即可免费获 得。阿里云推荐码: 1WFZ0V立享9折!


View Tony Bai's profile on LinkedIn
DigitalOcean Referral Badge

文章

评论

  • 正在加载...

分类

标签

归档



View My Stats