2014-04-21

ack 拦截

在实际的运维工作中发现有一些设备设备始终无法通过 tcp 向中央汇报数据,起初以为是程序本身的逻辑错误或者负载问题导致的不能正常汇报数据。后来经过分析发现不是程序问题,最后通过 tcpdump 抓包确认是链路中存在 ack 被拦截的情况。初步认定是 tcp 建连的三次握手的第三个 ack 被拦截导致的数据传输失败。 x.7 是客户端 IP,x.3 是服务端 IP 第三次握手的 ACK 拦截导致的 TCP 建连失败:

2014-04-21

使用阿里云和 webluker 搭建自己的免费 CDN 系统

虽然 CDN 技术目前已经很成熟,而且互联网公司都在使用 CDN 加速自己的应用。可是作为个人来讲 CDN 服务还是显示的太专业。需要花费很多时间和精力与 CDN 提供商联系、咨询等而且价格也不便宜。但随着云计算的发展 CDN 服务现在也可以像使用水、电一样按使用量先使用后付费了。阿里云就是一个很不错的解决方案,如下所示阿里云 CDN 的价格表: 白菜价有没有?这么便宜的 CDN 服务你的站长朋友知道吗?一个流量一般的博客一个月下来也用不了十块钱就能享受专业的 CDN 服务有没有。其实做这种“轻型”的 CDN 服务的不止阿里云一家,阿里云也是不是第一家。比如蓝汛的 Webluker 很早以前就提出这个概念,也有类似的服务。咱们看看他们的服务价格: 亲他们还在包月呢有没有?如果是第一次接触 CDN 服务的我都不知道他们的服务质量如何,我作为一个个人站长也没有足够的精力去和他们的销售交涉,我是不会采用他们的服务的有没有。如图 1 所示,是阿里云个人账户金额管理部分截图 看到了人性化、便利性了把。阿里云 CDN 可以随时向账户充值, 可以随时提现,这一点 webluker 还差的很远。而且蓝汛的云计算和阿里的比起来相信差距还是很大的。当我看到阿里云的 CDN 时候眼前一亮。真的是把 CDN 做的通用化,让平凡的站长手中又多了一把利剑。虽然 Webluker 的 CDN 服务没有做的那么便利,但是 webluker 提供了很好的检测工具, 比如 HTTP 探测 可以探测 CDN 加速效果、PING 探测 可以探测链路情况,还有端口探测、域名探测等。好吧说道这里你可能觉得这是一篇软件,下面就上干货。 CDN 到底有什么用?可以给站长带来什么? 我以 jike.me 这个域名举例说明,其中 www.jike.me 这个子域名采用阿里云 CDN 加速,zd.jike.me 这个子域名不使用 CDN 加速(我的源站是在阿里云的一台 ECS 虚拟机上,使用的是最低配置)这两个域名指向的资源完全相同, 区别仅仅在于一个使用了阿里云 CDN, 一个没有使用 CDN。使用 jQeury 这个 javascript 库为例进行验证(因为大部分的个人博客都会使用这个 js 库)。使用 webluker 的 HTTP 探测分别探测这两个域名看看探测结果如 2 和图 3 所示: ... Read more

2014-04-02

(Hu)go Template Primer

Hugo uses the excellent go html/template library for its template engine. It is an extremely lightweight engine that provides a very small amount of logic. In our experience that it is just the right amount of logic to be able to create a good static website. If you have used other template systems from different languages or frameworks you will find a lot of similarities in go templates. This document is a brief primer on using go templates. ... Read more

2014-04-02

Getting Started with Hugo

Step 1. Install Hugo Goto hugo releases and download the appropriate version for your os and architecture. Save it somewhere specific as we will be using it in the next step. More complete instructions are available at installing hugo Step 2. Build the Docs Hugo has its own example site which happens to also be the documentation site you are reading right now. Follow the following steps: Clone the hugo repository Go into the repo Run hugo in server mode and build the docs Open your browser to http://localhost:1313 Corresponding pseudo commands: ... Read more

2014-03-10

Migrate to Hugo from Jekyll

Move static content to static Jekyll has a rule that any directory not starting with _ will be copied as-is to the _site output. Hugo keeps all static content under static. You should therefore move it all there. With Jekyll, something that looked like ▾ <root>/ ▾ images/ logo.png should become ▾ <root>/ ▾ static/ ▾ images/ logo.png Additionally, you’ll want any files that should reside at the root (such as CNAME) to be moved to static. ... Read more