标签归档:py

RSS feed of py

最后更新于 .

最近因为项目上的需要开始大量使用nginx,因此也想趁机将以前常用的django+apache的架构换成django+nginx+fastcgi,此文是整个搭建的步骤,主要留作备忘,也希望对大家有所帮助。

注意:虽然本文成功的搭建了django运行fastcgi的实例,但是在实际运行中发现了很多问题,比如程序执行异常,进程在每次请求之后退出之类的。可能是我机器的问题,也可能是程序本身bug,大家如果用来搭建外网环境,请务必多多测试。

一.编译nginx

在网上买了一本《实战nginx-取代Apache的高性能服务器》,写的比较浅,主要是些配置方面的东西,不过却正是目前我所需要的。

由于需要支持https和rewrite,所以除了nginx的源码之外,又下载了 openssl-0.9.8r.tar.gz 和 pcre-8.12.tar.gz,把他们和nginx-1.0.4.tar.gz放到同一个目录。

为了方便编译,笔者写了一个脚本,代码如下:

#!/bin/bash

#=============================================================================
#脚本所在绝对目录
abs_path(){
    local path=$1
    local basename=$( basename ...

最后更新于 .

好吧,我知道是大半夜……,但我还是觉得赶紧花上半个小时,把这最新的想法分享出来是值得的~直接进入正题~ 我们来模拟一个场景,需要你去抓去一个页面,然后这个页面有好多url也要分别去抓取,而进入这些子url后,还有数据要抓取。简单点,我们就按照三层来看,那我们的代码就是如下:

def func_top(url):
    data_dict= {}

    #在页面上获取到子url
    sub_urls = xxxx

    data_list = []
    for it in sub_urls:
        data_list.append(func_sub(it))

    data_dict['data'] = data_list

    return data_dict

def func_sub(url):
    data_dict= {}

    #在页面上获取到子url
    bottom_urls = xxxx

    data_list = []
    for it in bottom_urls:
        data_list.append(func_bottom(it))

    data_dict['data'] = data_list

    return data_dict ...