gevent中与”线程”相关的几个例子

标题虽然说是线程,其实gevent用的是“greenlet”,可能翻译成”微线程”更合适一些。

1、线程池

2、 一生产者多消费者

3、多生产者(用Pool),1消费者(单独线程)

这个略反常规,如果我们假设生产者是I/O密集的Job,由Pool中的Job产生。而消费者只有1个。

用了kill,写的不太优雅,各路大神可以给提提意见。
[c[......]

继续阅读

Linux下编译Phantomjs

1、安装依赖的库

2、下载、编译

然后就是等待了,一般要1个小时以上。

使用ufw (Uncomplicated Firewall) 简化基于iptables的防火墙配置

大家都知道,iptables命令非常难记。。我们可以用ufw来简化配置。

1、安装

2、配置

这样,默认情况就只能访问22端口啦,是不是非常简单!

更多用法,可以见这里:https://help.ubuntu.com/lts/serverguide/firewall.html

 

PHP如何从服务器端判断客户端的代理类型。

我们假设客户端确实用了代理服务器,则PHP版的写法是:

在文中,有一个很长的if/else,这是加强版判断forward字段的方法,可以根据需要自行设置。如果启用了这个后,一般elite都会被判为anonymous。