本篇主要分享一下如何使用Chef进行快速部署一个应用到服务器。
为了讲解的需要这里做了一些假定。

  • 使用Vagrant作为一个测试服务器
  • 使用Rails开发了一个应用
  • 该应用使用了一台Postgresql数据库服务器
  • 该应用有一台memcached用来做缓存服务
  • 该应用使用Nginx作为Web服务器
Read more

这篇博文将使用一些代码来讲述Git使用中比较中级的技巧。

  • Git中 ^ 与 ~ 的区别
  • 假设从一个分支衍生出了另一个分支,如何取得该分支的所有递交列表
Read more

background

Some days ago I wanted to learn some css stuff from a site, I changed some css style to see what it turns to.
After 10 minutes after I got tired when I have to change the source again and again in the browser.
So I googled to find what kind of tools can be used to download files from a site, but I can't find anything satisfied.
So after searched github I found I can do it myself with little work.

Here comes the SpeedSpider, it's A simple and speedy web spider for site pages downloading.

UPDATE:

It turns out wget can do all the jobs I wanted except it doest not use threads. So wget way may be slower than SpeedSpider.
You can download bootstrap page with code below.

wget -m -p -E -k -np http://twitter.github.io/bootstrap
Read more

当一个服务器不能负载的时候,就需要增加一个服务器来做负载均衡,这个时候就需要做文件共享。
这一次我们来看看如何在ubuntu12.04上用nfs来做文件共享

Read more

开发的时候我们很多时候需要配置一个与线上相同的环境来做测试。
其中一项就是我们需要用线上相同的域名在做测试,这样就需要在开发环境里面配置域名映射。
最为简单的情况就是使用/etc/hosts,但是如果是有一团队来做测试,需要所有的人有相同的配置,
特别是有新成员来的时候,相同的工作要不厌其烦的重复做重复说明。

还有一种办法就是找一台机器来做域名解析服务,其实配置起来也不是很麻烦,下面就让我来讲一个简单的例子。

Read more

我们在使用服务器的时候会遇到各种各样的问题,比如今天要说的硬盘管理。

在服务器刚开始使用的时候一般只装配了现阶段要使用的容量,究其原因

  1. 资金有限,不能一步到位
  2. 前期无法得知需要多大容量,需要使用一段时间才能评估
  3. 类似需要时增加配额的策略

而如果当发现硬盘容量不够需要增加时,如果安装普通mount方法,需要准备一个更大的硬盘,把原始盘的内容复制过来。
这个操作会带来一定的风险:

  1. 复制需要一定的时间,在复制过程中原始盘内容可能又会增加
  2. 使用新盘后,原始盘多了出来,不能重复使用。
  3. 无法使用多盘来有效分散IO读写压力

使用LVM就可以克服以上的问题。

Read more

ssl是什么,ssl就是你在网址里面看到的https。区别于http,如果是ssl的,那么他所传输的数据是保密的,
别人无法根据监听网络偷取你的信用卡数据,登录密码。现在国内的银行等大型网站基本上都支持ssl了。

我们在用apache作为web服务器来配置一个网站的时候,往往自动忽略掉配置ssl,原因是ssl的CA一把都是收费的。
而且费用也都不低。现在终于好了,startssl.com支持免费的单域名了。

Read more