放在prgmr的VPS上的一个网站不能访问了, 症状如下:
- 浏览器长时间尝试连接后超时
- nginx返回 502 bad gateway
- 能ping通, SSH能连通
- cpu/mem都很空闲
放狗搜索”nginx 502 bad gateway”, 没什么帮助, 五花八门啥都有。
怀疑VPS流量超标,可是ssh tunnel无恙。
不得已之下重起nginx,重起php-cgi, 重起mysqld,问题依旧。
抓狂之下,使劲ls,突然发现几个log文件特别大,唔唔?于是一df,发现100%了……
删除所有log文件后,恢复正常。
启示:一定要从最简单的问题开始排除。
Google早就提供自定义搜索的功能,可惜又要申请代码又要改模板的,我倒是尝试过,最后撤了,嫌麻烦,继续用WordPress自带的慢吞吞搜索,不过现在……
Google大神又提供了一个添加自定义搜索到WordPress侧边栏的方法。当然了,这个方法不限于WordPress,适用于任何网站。而且简单得令人发指。
终于终于是时候彻底告别WordPress自带的搜索了,Yeah!
第一步:把以下代码添加到一个Widget里面,所有网站都一样,不用去申请不同代码。
<!– Google Custom Search Element –>
<div id=”cse” style=”width:100%;”>Loading</div>
<script src=”http://www.google.com/jsapi” type=”text/javascript”></script>
<script type=”text/javascript”>
google.load(’search’, ‘1′);
google.setOnLoadCallback(function(){
new google.search.CustomSearchControl().draw(‘cse’);
}, true);
</script>
第二步:Ooops,没了,简单吧。 效果见网贝侧边栏。如果你还没见过这个效果,请一定要看一下,超炫超强的。 Read more…
google, 搜索
如果现在还有什么理由把blog放在国内的话,那只能是“为了提高国内访客的访问速度”这一条了。所以…如果你的大部分读者是通过RSS阅读器来读你的blog,那就没有必要把blog放国内,反正他们也甚少直接打开页面来看。如果你的读者群喜欢直接访问网页的话,速度确是个很重要的因素。
网贝前段时间搬到wopus销售的国内主机上,当然主要是考虑到大家的访问速度,不过嘛,实际上还有一两个其它原因,比方有时候要用这个点测测其他服务器的连接速度之类的应用。总而言之,是搬回国了。
两个月用下来,总体感觉:非常满意。
在“主机速度的影响因素”一文中我说过速度取决于线路和负载。首先看看负载,呵呵,暂时来说我是偷笑的:
load average: 1.18, 1.22, 1.08
这是我不时top一下所记录到的最大负载。对双E5405而言,基本上是空载。
(BTW: 我有这个强迫症,新主机都要去cat /proc/cpuinfo; top…)
然后是线路,至少这服务器的出国线路是上好的,从美国能稳定1.2MBytes/s的上下载速度,对于电信线路可以说罕见了。不知道网通的朋友访问起来速度怎么样。
稳定性方面,没有能注意到的down time。
技术支持方面…由于一切都很顺利,没啥需要技术支持的地方。这方面wopus的口碑一直是不错的。
所以,如果你决定排除万难,定要把blog放国内,那这台主机是个很好的选择。有意的话就找酋长去商量吧。或者去WopusIDC平台看看。
wopus, 虚拟空间
今天好不容易更新一篇,却是自己做记录,对大家没啥用的东西…惭愧。
题外话:网贝回国,希望大家反映一下速度比起以前如何,多谢。
嗯,既然回国,那个Linode的VPS就暂时空闲了,于是俺开始折腾…根据自己的摸索,在彻底忘记之前,把折腾的一些次序记录如下备查。
1. Deploy一个Distribution。我的选择是CentOS 5.2,不要选64bit,因为太吃内存了。
2. 启动之,然后SSH进去,使用命令 system-config-securitylevel-tui 配置防火墙,关掉22,打开随便什么端口,然后到/etc/ssh/sshd_config去,换端口,禁止root登录,禁止密码方式登录。做一个key存下来。重启sshd,用key file登回去。
3. 安装LNMP,步骤参考这篇,但有些参数需要修改。用 #! /bin/bash 制作.sh文件来自动化进程。最好有以前保存的nginx.conf, php-fpm.conf等。
重启nginx的命令是 kill –HUP `cat /path/to/nginx/nginx.pid`。
4. 配置MySQL,参考官方文档即可,删匿名账号,加密码等。
5. 安装phpMyAdmin,还没搞清楚它为什么说我没装Bzip2和zip,我明明装了嘛…不过不影响使用。
嗯,暂时做到这里,下回分解。
心得:控制面板是多余的,root是爽歪歪的,菜鸟(俺)是记不住命令行的,Google是万能的。
lamp, linode, lnmp, vps
在美国空间合租指南这篇文章中,我的主要着眼点在于服务的稳定性,这固然是第一要义,然而网站的速度也是一个极为重要的指标。今天就来说说影响主机速度的几个因素。
使用浏览器打开一个网站时,如果你的眼睛足够快,或者那个网站足够慢,在浏览器的状态栏你将能看到三个步骤: 它们是
- 域名解析
- 等待网站响应
- 传输数据
通常,在一个典型的成功打开网页行为中,域名解析的时间是可以忽略的,等待时间大部分集中于后两步。而影响后两步的因素又有哪些呢?
这里我就不再描述TCP协议了,大家只需要大略清楚以下过程
- 浏览器发送请求到服务器 [因素:线路]
- 服务器找到网页(静态)或临时创造网页(动态) [因素:服务器负载]
- 服务器把网页代码发回浏览器 [因素:线路]
所以实际上只有两个因素:线路和服务器负载。
线路方面测试起来很容易,ping过去就是了,数值越小越好。作为举例,这方面DreamHost有较大优势,因为机房在美国西海岸,离中国近。但DreamHost上的站是不是就一定快呢?绝非如此。由于大量的Oversell, DreamHost上的网站普遍响应时间都较长。而网贝所在的达拉斯机房,论ping值是稍高于DreamHost(250ms VS 200ms from Shanghai),但由于有极佳的服务器性能保证,所以访问起来反而快得多。
那么讲到最后,到底应该如何测试主机的速度呢?简单的ping显然是不够的,但除了亲自体验,我也想不出更好更方便的法子来。Linode可以选择4个不同地点的机房,同时也贴心地提供了四个机房的文件下载测速。而那些没有提供测速的主机,换做我就只好到twitter上吼一声,叫大家帮忙反馈一下访问体验。当然把twitter换成QQ或者论坛都是一样的。
dreamhost, linode, 主机, 服务器, 线路
Recent comments