Static Site Generator System

如果嫌WordPress慢了何不把网页全部变成静态的html页面发布?Jekyll和nanoc是满足这种需求的两款Ruby程序,有了它你可以像在服务器上一样写博客,写完以后生成html文件在发布到服务器,还可以配合版本服务器使用,十分惬意。以下是他们的简介:

Jekyll
Jekyll is a simple, blog aware, static site generator. It takes a template directory (representing the raw form of a website), runs it through Textile or Markdown and Liquid converters, and spits out a complete, static website suitable for serving with Apache or your favorite web server. This is also the engine behind GitHub Pages, which you can use to host your project’s page or blog right here from GitHub.

nanoc
nanoc is a tool that runs on your local computer and compiles documents written in formats such as Markdown, Textile, Haml… into a static web site consisting of simple HTML files, ready for uploading to any web server.

-EOF-

UTC 和 GMT 详解

UTC = Coordinated Universal Time. 中文名称为协调世界时.

GMT = Greenwich Mean Time. 中文名称为格林尼治(平)时(这里的”w”是不发音的,而且”Green”要读成”Gren”)

UTC = GMT +/- 0.9 s
因此 UTC 间中需要进行 “闰秒” 以控制两者相差。

UTC是协调世界时(Universal Time Coordinated)英文缩写,是由国际无线电咨询委员会规定和推荐,并由国际时间局(BIH)负责保持的以秒为基础的时间标度。UTC相当于本初子午线(即经度0度)上的平均太阳时,过去曾用格林威治平均时(GMT)来表示.北京时间比UTC时间早8小时,以1999年1月1日0000UTC为例,UTC时间是零点,北京时间为1999年1月1日早上8点整。

GMT(Greenwich Mean Time)是格林尼治平时:
由于地球轨道并非圆形,其运行速度又随着地球与太阳的距离改变而出现变化,因此视太阳时欠缺均匀性。视太阳日的长度同时亦受到地球自转轴相对轨道面的倾斜度所影响。为着要纠正上述的不均匀性,天文学家计算地球非圆形轨迹与极轴倾斜对视太阳时的效应。平太阳时就是指经修订后的视太阳时。在格林尼治子午线上的平太阳时称为世界时(UT0),又叫格林尼治平时(GMT)。
为了确保协调世界时与世界时(UT1)相差不会超过0.9秒,有需要时便会在协调世界时内加上正或负闰秒。因此协调世界时与国际原子时(TAI)之间会出现若干整数秒的差别。位于巴黎的国际地球自转事务中央局(IERS)负责决定何时加入闰秒。
-EOF-

[转载]Amazon AWS 漫游指南

奔着Amazon AWS打着的免费旗号,今天我也开通了Amazon AWS帐号。本来想把开通流程写下来的,发现已经有网友写有详细的流程,故转载之。
原文地址 http://yinhm.appspot.com/2010/10/amazon-ec2-micro-instance-and-tunnel-guide

本文适用对象

  • 您希望建立自己的英特网漫游隧道
  • 您有一张可以刷外币的信用卡,比如VISA。手机。
  • 您有基本的英文阅读技能

开始前需要注意

  • 本文作者不对任何因本文造成的费用负责;
  • Amazon包含750小时的free tiers活动从2010年11月1日开始,10月20日后注册的新用户 都可以享受此项服务;
  • Free tires包含10GB EBS,30GB带宽(SSH proxy的话,实际上只有15GB),超出部分仍然需要付费;
  • 本文作者不熟悉Amazon EC2等服务,部分描述或理解可能有差错。

注册Amazon AWS账户

注册Amazon账户

启动浏览器,访问 http://aws.amazon.com/ ,点击”Sign Up Now”:

转入amazon账户登陆页面,如果您已经是amazon的用户,可以直接登陆,本文假设您还没 有amazon账户,注册新用户:

  1. 输入email地址
  2. 选中”I am a new user.
  3. 点击”Sign in using secure server”

转入新用户注册页面:

  1. 姓名
  2. email地址
  3. 重复email地址
  4. 账户密码
  5. 重复密码
  6. 点击”Create account”

转入联系信息页面:

  1. 联系地址:街道,公司,必填
  2. 联系地址:几单元门牌号等,按需填写
  3. 城市
  4. 省份
  5. 邮编
  6. 国家:china
  7. 电话号码:直接填写,无需 +86
  8. 协议
  9. 验证码

注册AWS账户

联系信息提交成功后转入AWS登陆页面,输入email,密码,登陆后,转到AWS联系信息页面,虽 然之前注册Amazon账户已经填写过联系信息,注册Amazon AWS账户还是需要充填一遍,按 照原先输入的信息表单会自动补全。

联系信息提交成功后,AWS账户注册步骤完成了。Amazon AWS会email通知告诉你接下来 如何如何。

填写信用卡信息

Amazon EC2一般的付费模式是On Demand按需付费,不用不付费。在使用之 前需要关联信用卡信息到您的AWS账户。

点击上面邮件中的account链接,或直接访问:http://aws.amazon.com/account,点击 Payment Method ,登陆后转到支付方式页面,输入你的信用卡信息 Continue。

继续转到账单地址页面,选择注册AWS时提供的地址 Continue

信用卡验证会刷掉1美金(我的理解是预付费,验证不会真的扣钱,这点我并未去证实),如果没有成功会收到邮件通知更正信用卡信 息,Account Activity页面也会提示你更新信用卡信息或者用已有信息 重新验证。

开通 AWS EC2 等服务

开通AWS相关服务需要登陆AWS管理后台console。访问 https://aws.amazon.com/console ,点击 Sign in to the AWS Console,登陆后转到AWS后台。

默认登陆console后转到 Amazon S3 管理页面,点击 Amazon EC2 转到 EC2 管理页面,点 击 Sign Up For Amazon EC2
转到电话验证页面

  1. 选择China
  2. 填写手机号码,无需+86
  3. 点击 “Call Me Now”

点击后,此页面转到第二步,显示 PIN 验证码。

同时接收到亚马逊电话验证,输入您浏览器页面中的PIN码,信息验证完成。 转到第三步,点击Continue。

转到完成启用服务确认页面,这个页面展示不同机房不同服务的收费情况,并非配置页 面,直接Complete Sign Up

系统提示正在启用订阅,订阅后会发送邮件到你的邮箱。

至此EC2服务已经开通。可以进入console跑instance啦!

启动实例

打开 https://console.aws.amazon.com/ec2/home 进入 EC2 console:

  1. Amazon S3: S3存储服务,可不用
  2. Amazon EC2: 类似传统的VPS服务,可以在这里启动Instance,增加EBS硬盘
  3. Region: 四个可选区域,一般来讲国内连西海岸加州机房较快,如果对国内提供web服 务,也可以考虑新加坡机房,新加坡机房价钱要贵一些。
  4. Instances: 所有实例(VPS)
  5. AMIs: 所有AMIs,可以看成是不用安装的操作系统,选择一个启动即得到一个 Instance。
  6. Volumes:EBS硬盘,EC2默认不带存储,虽然可以通过存储在S3的AMI启动,但当你关 闭或重启Instance后,所有数据都会消失。而通过存储在EBS的AMI启动则不会有这个问题。 所有数据变更保存到EBS中。您也可以添加额外的EBS挂在到某个Instance。
  7. Snapshots: 增量备份的系统快照。
  8. Elastic IP: EC2的Instance是变化的,如果你需要固定的IP,可以在这里设置,不过 需要注意,如果你分配了固定IP但是没有挂载到任何Instance上,你会被Amazon惩罚性收费。
  9. Launch Instance: 点击启动新的Instance实例。

点击 Launch Instance, 打开实例向导窗口:

这里我们用的是默认的第一个 AMI, Basic 32-bit Amazon Linux AMI 1.0,大致解释一下:

  • Amazon Linux是Amazon基于fedora为EC2定制的AMI,默认禁止root ssh密码方式登陆, 去除不需要的服务等,默认配置更加安全。
  • 自带 Amazon 工具包。
  • Amazon每个Region都为Amazon Linux提供了软件仓库,更新软件不造成带宽费用。
  • micro instance更适合跑32-bit linux。
  • EBS boot,默认配合10GB的EBS。
  • 使用此instance没有额外费用。
  • 选择Windows instance,需按使用支付Windows授权费用。
  • 这里没有选择ubuntu的原因是因为我发现Ubuntu的AMI默认是15GB的EBS,而free tier 只提供了10GB的EBS硬盘。

点击Select,进入向导第二步:

  1. 实例数,默认为1,free tiers包含每月750小时的micro instance,如果不间断运行 的话,正好够跑一个instance。
  2. 可用区域,这里用了默认的,无特别喜好。
  3. 实例类型,必须选择Micro,除非你不准备使用免费的micro instance。
  4. 启动实例,对应的另外一个选项是”Request Spot Instances”,类似竞价方 式在空闲的机器上跑Instance,这个用默认的。

点击Continue转到高级实例选项设定,这里全部默认。

点击Continue转到Tag设定页面,可以不设定直接跳过。

点击Continue进入”Create Key Pair”:

  1. 指定一个密钥名称,如: fookey
  2. 点击生成并下载密钥,这个密钥需要妥善保存,有了这个密钥,可以随时打 开(登陆)您跑在amazon aws上的机器。

点击Continue进入”CONFIGURE FIREWARE”:

配置防火墙页面,这个设置安全组别为”Web”, 并添加了”http”, “https”,允许此台服务 器提供web服务。

点击Continue进入”Review”:

注意一下,Instance Type为 Micro (t1.micro)

点击”Launch”启动Instance。基于EBS的AMI启动大约需要1分钟。

点击View your instances on the Instances page察看Instance状态。

您应该已经看到有一个 t1.micro status为Running,至此您的micro intance已经启动,意味这您有一台可以ssh登陆的linux服务器啦。

用它来做什么

  • 用来做web服务器,跑php, python, ruby网站
  • 用来跑SSH proxy, VPN
  • 更多…

SSH proxy在Linux下很简单,一条命令即可:

  • 系统只允许通过key密钥登陆
  • 我们安装的AMI,默认登陆用户为 ec2-user
  • 用你的Public DNS代替 YOUR_AMAZON_PUBLIC_DNS
  • 跑了一个ssh forward监听本地10003端口

Public DNS可以在Instances详细信息中找到,

Windows用户

Windows默认没有ssh客户端,需要下载putty。putty默认不支持Amazon ec2的key,需要做转换,具体过程请参考官方文档

做tunnel的话还需要在putty中设定tunnel选项,如端口,动态,自动等。具体还请大家自 行测试。或者看这里: SSH Tunneling Proxy using Putty on Windows and Linux

进一步学习Linux

  • 一本linux书籍
  • 看看 fedora文档:http://fedoraproject.org/
  • 去国内的社区寻求帮助,如linuxsir

-EOF-