月度归档:2012年04月

写了个Python脚本监控nginx进程

接上一文用iptables让SSH服务对陌生人说不。还是有点担心这个学期内,nginx可能会因为系统各种原因而出现异常退出,导致Web服务暂停。所以,又来了一个方案。

#!/usr/bin/env python
import os, sys, time

while True:
    time.sleep(3)
    try:
        ret = os.popen('ps -C nginx -o pid,cmd').readlines()
        if len(ret) < 2:
            print "nginx process killed, restarting service in 3 seconds."
            time.sleep(3)
            os.system("service nginx restart")
    except:
        print "Error", sys.exc_info()[1]

设置文件可执行属性,加入到/etc/rc.local,总算放心了。
这种方法还可以监控别的进程,我相信应该有现成的监控软件,但是我觉得写个脚本更方便。

用iptables让SSH服务对陌生人说不

今晚老师跟我说服务器的Web挂了,但是FTP可以用。我登录了这个OpenVZ的VPS,发现nginx进程没了。为什么会发生这么神奇的事情呢?

我在/var/log/nginx下翻了日志文件,没有发现任何出错信息。然后想会不会是系统内存超了,被OpenVZ内核KILL了呢?查了一下,果然发现:

uid resource held maxheld barrier limit failcnt
3004536: kmemsize 3626521 4652581 51200000 51200000 0
lockedpages 0 0 2048 2048 0
privvmpages 34041 131231 131200 262200 3
shmpages 1281 1297 128000 128000 0

私有虚拟页面privvmpages的数值超了,有3次失败请求。一个页面4KB,所以这个VPS的内存是512M.

我在这个VPS上只开启了nginx,vsftpd,mysqld,php-cgi,xxfpm等服务,不可能占用那么多内存吧。php的进程数量是用自己写的xxfpm限制死了,只能有3个进程。这些所有的服务一共才占用100多MB内存,怎么可能超了512M呢?
继续阅读

SCUT.TK域名已经失效,请使用scut.xiaoxia.org

tk域名总是不好用,出现各种各样的问题,所以前些天代理失效了。
可能是因为这个域名是内网使用的,所以tk的人访问不了就把域名给取消了!

Dear Xiaoxia Huang,

The Dot TK Abuse and Copyright Infringement department has
visited your website today.

Unfortunately we have to say that today we cancelled your domain SCUT.TK.

为了方便大家以后使用,暂时用我的一个子域名代替吧!
继续阅读

用水清洗了CPU风扇,解决了笔记本散热问题

我用的Y460笔记本散热一直比较差,最近已经到了无法忍受的地步了。开机一段时间后,即使不怎么运行软件,温度也很高,底座很烫手,真的可以煎鸡蛋的!这机子温度一高起来,不会死机,而是CPU自动降频。导致的结果是打开网页,CPU用满了,等了半天还没反应过来。

本来还想买个散热器来解决这个问题,因为上个月在北京的时候就是用着散热器才不卡机。但是使用外部的风扇来降温不是根本的解决办法,换个地方上网还是会有这个问题。所以,决定自己拆开笔记本,把风扇取了出来!还挺好拆的,拆了之后看到风扇上已经积满了灰尘,吹也吹不掉,只能用水冲,用刷子擦了。清洗过后的风扇轻了很多,转起来也很给力了!

今天开了一天的笔记本也没有发现温度特别高,所以这个问题已经完美解决,不再困扰我了 :)

玩玩Tornado,写了一个网络相册分享照片

Tornado是一个用python写的小巧的开源网站服务器。安装来玩了一下,的确很强大,响应速度很快!这东西是Facebook开发的,但奇怪的是官网 http://www.tornadoweb.org/ 的IP查出来却是Google的呢,难怪连华工的校园网也能连上了。

花了一晚时间,写了如下的一个Web相册,用来分享照片给同学 :) 可见开发效率之高,o(∩∩)o…哈哈,代码量也很少。

界面简简单单的,功能挺实用。
继续阅读

完美解决Linux下Intel 1000 BGN间断丢包的bug

我的Y460笔记本接入A哥的无线路由的时候,不到一会,就会出现完全丢包的现象。等几分钟之后,又好了,但是不到10多秒,又丢了。

这种现象一直困扰了我几年多,我以前曾经尝试过安装官方提供的网卡驱动或者固件,都无法解决这个问题。今晚好不容易想使用一下荣哥分享的校园网,这个问题重现,真的烦死了!

dmesg一下日志,如下:
继续阅读