Linode免费升级

Linode免费升级

Linode最近13周年庆,直接将内存免费翻一倍,价格保持不变,太劲爆了!

Old Plan New Plan Price
Linode 1 GB -> Linode 2 GB $10/mo ($0.015/hr)
Linode 2 GB -> Linode 4 GB $20/mo ($0.03/hr)
Linode 4 GB -> Linode 8 GB $40/mo ($0.06/hr)

有几点需要注意:

(1)如果节点是Xen架构,则需要先转换成KVM才可以进行内存升级。如果已经是KVM架构,则可以直接升级。我升级了几个节点,爽爽的!

(2)国人非常喜爱的东京数据中心,节点都是Xen架构,而且据说已经没有空闲节点,暂不支持转换成KVM,因此要等待一段时间才行。

过往都是DigitalOcean频繁推出升级或者优惠,然后Linode被迫跟随。这次感觉Linode突袭了一次。

DigitalOcean,你看到了吗?你现在还好吗?加油啊!

Lua的真

Lua的真

居然将0和空字符串也视为“真”!学了这么多种语言,第一次遇到将0判真的情况。

而且数组下标默认从1开始!好吧,印象中Fortran似乎也是这么处理。

大家的精力真是无限,毫无意义地浪费在这些繁琐的细节上。

温良恭俭让

温良恭俭让

从小学读书起,就一直被教导:“台湾是祖国美丽的宝岛,岛上的人民温良恭俭让……”。

可是现在的台湾竟然成了诈骗岛,几十万诈骗犯不以为耻、反以为荣地诈骗大陆同胞。昔日最美的风景是人,现在最美的风景是“诈骗”!

更让人震惊的是CCTV-4最近的报道:大量台湾人居然称呼大陆人为“支那贱畜”!视频链接如下(具体报道大约从25分钟开始):

http://tv.cctv.com/live/cctv4/index.shtml?stime=1465704000&etime=1465707600&type=lbacks

我以为CCTV的报道是偏颇的、是少数人的行为,于是特意翻墙去看了香港、台湾本地的论坛,结果更加震惊!里面一边倒的各种辱骂、诅咒、讥讽,仿佛与大陆人有不共戴天之仇。

真不知道大陆这些年究竟做了什么,一直在让利、一直在送礼,结果呢?香港人骂大陆人是“蝗虫”、台湾人骂大陆人是“贱畜”!

茶叶蛋之后

茶叶蛋之后

在网络上看到一段台湾网友和大陆网友的神对话:

台湾网友:这些天好热耶,你们那停电没冷气,一定超难受吧?
大陆网友:是啊。现在都点着蜡烛上网呢!
台湾网友:那能看见吗?
大陆网友:没事,我们都能盲打!真羡慕你们的高科技,用爱发电!

我觉得这大陆网友实在太狠了,同时也很惊讶这位台湾网友的认知。别说深圳,十几年前在老家(江西,四线城市)时,就已经很少有停电这事了。

渐行渐远的南山书城

渐行渐远的南山书城

儿子非常喜欢南山书城,逢年过节或者放假的时候,都会去一趟书城并买点书回家。在书城里,儿子特别喜欢和小朋友一起坐在地上看书,并相互讨论。因为这样,我也渐渐喜欢上书城看书,在儿子看书的时候,我也能逛逛,挑选自己喜欢的书。

虽然在网上能买到更便宜的书,但是我们仍然保留了逛书城的习惯,并乐意从中购买自己喜欢的书。

而今年六一的经历实在不愉快,严重影响了心情。貌似南山书城今年重新装修了4楼的少儿部分。书柜更多了,书也更多了,相应给孩子们阅读的空间反而少了。更糟糕的是,时不时有些工作人员过来把孩子们赶起来,不让坐在地上看书。貌似要赶到3楼一个小区域去看书。

不知道这是谁出的鬼主意,实在太糟糕了。3楼那个小区域根本容不下多少孩子坐下来看书,而且那个区域还有商业活动!实际上,南山书城现在看书的位置越来越少,而卖东西的商铺越来越多。

如果不能席地而坐读书,就只能站着看了。我强烈不满,于是向工作人员反应,要求像以前一样可以坐地板上看书,要不然干吗来书城?直接在网上买不就得了?谁知道工作人员轻描淡写地说:那就去网上买好了。

我不知道南山书城是怎样一个机构,也不清楚其商业运营是否成功,但是商铺越来越多,阅读空间越来越少,这不是一个书城该有的态度。装修再豪华也没有意义,已经背离了书城的本质。

是的,我们当然可以选择上网买书。

工匠精神

工匠精神

“工匠精神”似乎是最近非常热的单词,突然之间到处都在呼唤工匠,言必称工匠。我理解“工匠精神”是要耐得住寂寞、对品质精益求精,这毫无疑问让人非常向往。

只是目前就全社会提倡“工匠精神”,合适吗?我们现在还远远达不到追求“工匠精神”的地步,我们现在更应该提倡把事情做好,把事情做对。比如下面这张图:

斑马线上的井盖
斑马线上的井盖

把井盖放好,需要技巧吗?不需要。需要精益求精吗?也不需要。只需要把事情做对即可,这么简单的要求做到了吗?连续三次都没做到!每次经过这个斑马线,我都忍不住猜想:当时的工人究竟在想什么?

只有把事情做好、做对了,我们才能进一步精益求精,而现状还差得很远。现在提倡“工匠精神”实在是荒诞、好高骛远,也就让人怀疑最终的成效,这可能也只停留在一个口号而已。

还是老老实实先学会走,再考虑怎么跑吧。

微信读书

微信读书

这是腾讯新推出的一个手机端读书软件(在iPad上也可以用),非常好用。

我比较喜欢的是读书时长可以换书币,然后又可以用书币去购买书。虽然每周的兑换额度有限制,不过对一般的书迷来说,其实都足够了。比如我,到目前为止,已经“免费”购买并看完了:吕思勉《中国通史》、霍金《时间简史》、刘慈欣《三体(全集)》。还乘机囤了几本好书,例如王小波系列等。

“微信读书”还有几个比较有意思的特点,例如写书评,例如好友排名。说到好友排名,我大部分时间都是好友中的读书冠军,有若干次被其他好友超越,倒真是被刺激了一下,暗暗较劲。

当然,最重要的特点还是真能从中淘到不少好书,是广大书迷的福音。

再见,bluehost

再见,bluehost

BlueHost(以下简称BH)是个老牌的虚拟空间服务商,与其他服务商相比,BH有很好的口碑,当然,也有相对高的价格。我们的小公司自创立以来,就使用BH的空间来支持网站(myvoipapp.com)。虽然随着我们技术水平的发展,越来越多地采用VPS和云计算资源,比如我们的云系统miniSIPServer.com以及我们为客户部署的各类系统,都换用了VPS和各类云系统,但是我们的官网始终保留在BH中。

一方面是考虑到多年数据积累,迁移整个系统是费时费力的事情,比如需要考虑email、web、ftp、论坛、blog、数据库等,想想就觉得很麻烦。另一方面,BH一直以来工作得很好,对于初创企业(尤其是没有太多技术积累的初创企业),BH提供的各类一键式安装和维护,的确省心省力,不会让人太操心,把精力更多地放在自己业务发展上。

然而最近我们终于还是花时间把网站迁移到VPS上了(推荐Linode以及DigitalOcean,两家口碑极好的VPS服务商),告别了使用时间近乎十年之久的BH。下面分享一些我们做决定时的一些动因和思考。

1、稳定性

在虚拟空间服务领域存在大量的服务商,坦率地说,绝大部分虚拟空间服务只能做个人blog等非关键应用,少数才能为严肃的商业网站提供服务,而一直以来BH都是其中佼佼者,其基础就是良好的稳定性。这也是我们一直使用BH的根本原因。

然而最近不知道是出什么问题了,也许是BH推出了VPS类业务,调整业务重心,从而忽略了原有的虚拟空间业务。总之,最近一年以来毛病不断,网络故障、主机故障、数据库故障、各类故障层出不穷,以前十年间出的问题加起来都没有最近一年多。

2、糟糕的技术支持

出问题不可怕,如果有良好的技术支持,很多问题是可以被容忍的。然而要命的是,BH的技术支持水平严重下降。很多问题本来是可以避免的,比如擅自修改php配置,居然去掉了mysql的pdo驱动,导致我们的服务大面积中断。

最离谱的是,连续几天awstats居然没有任何统计数据。由于我们以前过于信赖BH自身的工具,没有引入第三方的统计分析工具,以至于我们都无法确认这只是awstats的问题,还是BH的节点出现了严重问题,感觉非常糟糕。

BH新的技术支持人员的专业素养也让人怀疑。比如cpanel的问题、sftp等问题,域名管理配置问题等,简直答非所问,让人吃惊。而且online chat现在居然要三十几分钟的等待才能连接,实在无法理解。遥想当初使用BH的时候,还是个技术小白,几乎什么都不懂,完全是依赖即时的online chat来获得帮助,真是今非昔比。

3、隐性的商业成本

这里就不说擅自修改商业定价策略和产品包的内容。

BH的初次建站成本比较低,但是续费的时候就比较贵,这点可以接受。然后后续如果需要添加新的服务,比如HTTPS支持,独立IP等,就需要另外付费,综合起来的商业成本,实际上比使用VPS更贵一些。何况,在“lets encrypt”免费提供SSL证书的情况下,对HTTPS进行收费未必合理。实际上,我们切换到VPS后,采用了“lets encrypt”的证书进行HTTPS加密,效果很好,没有任何额外费用。

4、结论

使用VPS的技术要求门槛高一些,至少要懂一些linux的基础知识,所幸的是我们的技术水平在逐步的成长,这方面已经没有什么障碍。而BH对于初创企业目前来看还是很好的选择,只是在留住资深用户方面,还需要更扎实的服务和更稳定的系统环境。

Apache2配置调整

Apache2配置调整

在资源不充足的节点,如果对性能要求不高,可以试试调优一下Apache2的配置,节约对内存等资源的占用。Debian 8系统Apache2默认采用prefork工作模式,可以试试修改/etc/apache2/mods-enabled/mpm_prefork.conf的配置,例如采用以下配置项:

<IfModule mpm_prefork_module>
 StartServers 5
 MinSpareServers 5
 MaxSpareServers 10
 MaxRequestWorkers 20
 MaxConnectionsPerChild 1000
</IfModule>

当然,如果是在资源很充足的情况下,完全可以放大以上这些配置。Apache默认的配置项一般能满足普通情况下的需求,而在特殊情况,例如资源不充足或者资源非常充足,适当调整上述各项配置,会提高Apache的响应效率和稳定性。

DigitalOcean小坑

DigitalOcean小坑

DigitalOcean是我个人非常喜欢的云计算服务商,我们在部署自己的网站、云通信系统、向客户推荐等各种情况都会采用DO(以及Linode,另一个非常优秀的云计算服务商)。

绝大多数情况下,DO节点运行非常快速、稳定,然而有时候也有意想不到的情况发生。最近我们发现一个节点的服务突然中断了,经检查后发现是MySQL数据库异常退出,错误原因是内存分配不足。以前从未发生过这种情况,简单对比后发现这个节点是个小内存节点,只有512M内存(通常我们都为生产环境节点配置2G内存)。我们认为这个节点的MySQL数据库不应该占用太多内存,即便512M内存不够,加上SWAP的支持也应该足够了。

然而分析该节点信息,惊讶地发现DO默认居然没有分配SWAP区(与之对比的是,Linode可以在创建节点时指定SWAP分区)!

检索了DO的文档,对这种情况的解释是建议采用更多内存的节点,SWAP做缓存会拖慢系统,并可能影响其他用户。原则上这点没错,如果频繁发生内存不够的情况,的确应优先升级节点,采用更多内存。然而,如果仅仅是在尖峰时刻偶尔少量内存不足,采用SWAP过渡一下完全合理。

更重要的是,即使SWAP相对而言慢一些,但相比程序crash而言,一个慢点但是稳定的系统显得更合理。同时考虑到DO采用SSD硬盘,速度可以接受,因此我们手工增加了2G的SWAP设置。事实证明,内存在忙时实际只少了1M,用SWAP来应对这1M内存的需求,相当合理。

在DO节点增加SWAP很容易,请点击这里了解细节。文档是基于Ubuntu 14.04,我们的节点是Debian 8,按照这篇文档的介绍,也能设置成功。

以下是简要的步骤记录:

(1)创建 swap 文件:

sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

(2)修改 /etc/fstab 文件,添加以下项即可:

/swapfile none swap sw 0 0