Xiaoxia[PG] Yesterday is history, tomorrow is mistery, today is a gift!

30四/127

写了个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,总算放心了。
这种方法还可以监控别的进程,我相信应该有现成的监控软件,但是我觉得写个脚本更方便。

30四/1223

用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呢?

28四/1265

在路由器上写CMCC自动登录验证脚本

今天入手了一个新的路由器,160RMB,特点是体积很小,像个火柴盒,但有64MB内存,安装openWRT(Linux)操作系统,内核比较新。玩了一下,功能很强大,跟那些几千元的大型路由器有的比呀!

如下图模型:

7四/124

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

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

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

dmesg一下日志,如下:

15三/1239

ARM版Ubuntu源

我的手机用的是Ubuntu maverick的arm版,可以使用apt-get来给手机安装系统软件包。例如常用的一些gcc,tcpdump,apache2,php,升级内核等。

官方的arm源并不在archive.ubuntu.com上,而是在ports.ubuntu.com。
修改/etc/sources.list为:

deb http://ports.ubuntu.com maverick main restricted universe multiverse

然后更新软件包信息。

5三/1227

Linux下让父进程结束后,子进程自动结束

24二/1231

改用PAE内核让32位Linux支持4GB以上的内存

2011年4月,我在网上买了一条4G金士顿的笔记本内存(DDR3 1333),花了275.00元(不含邮费)。

几个月前,我舍友买了一条同样的4G内存条,花了156.00元。

今天在网上看了一下,同样的内存只需要120元左右就够了。

一年还不到,这个降价太离谱啦!!!

因为大部分在32位的Linux下娱乐工作学习,所以在我电脑上最多只能使用到3GB多的内存。

直到今天,我才真正的把这条4G内存用上场。有点可惜了 :(

PAE是Physical Address Extension,最初是为了弥补32位地址在PC服务器应用上的不足而推出的。更新至支持PAE的Linux内核,可以让你的32位Linux支持最大64GB内存。

更新步骤很简单,在终端执行下面一句或者在软件包管理器里选择安装linux-generic-pae:

apt-get install linux-generic-pae

21二/1223

udpip: 用UDP封装IP数据包建立VPN

原理

使用Linux内核提供的tun设备建立可以在脚本读写的虚拟网卡,然后通过UDP将两个网卡的数据连接。

13二/1214

Linux下zergRush给Android2.3.6(ME865)获取root权限

昨天跟金华同学在大学城寻找新片景点,在路上,遇到一棵骨骼精奇的植物。掏出手机拍下以记之!

16一/1272

手动创建ICMP Tunnel实现VPN上网(附Python实现代码)

其实这是一篇讲解利用中国移动CMWAP的一些特性来实现免费上网的博文,但是没有以这个为标题,因为

1、用的是2G的EDGE网络,跟2G手机上网一样,速度有限.

2、各地区的移动设备有差别,例如在广州,这种方法行不通。但是广州的移动Wifi是可以通过UDP建立VPN来免费使用的。

3、不想吸引太多人的注意。

我见过很多公共网络都对UDP和TCP有不少限制,以致于我们不能自由地访问互联网。为了摆脱这种束缚,很多人都为此付出了很多努力,例如各种代理软件,各种隧道,各种VPN等。本文介绍的是一种比较罕见的ICMP隧道方式建立VPN。

背景

一年前,因为在县城里没有网络使用,又不想晚上跑到外面上,所以经常使用笔记本连接手机的GPRS网络来上网。打开一些网页或者聊天工具之类的,网速的快慢并不是很重要。但是流量有限,当时开通了300MB的套餐也很快被消耗尽了。有一次,在Ubuntu下创建了一个cmwap网络,cmwap是需要设置代理IP为10.0.0.172才能上网的。但是奇怪的是,我竟然可以ping通我自己博客服务器的IP。所以我想cmwap对外网IP的访问只是限制了TCP和UDP类型的数据包进出而已。

第 1 页,共 7 页
1
2
3
4
5
...
最旧 »