• Ubuntu搭建Django+Flup+Nginx环境


    首先我们必须明白这这3者在该环境下发挥的作用。

    1.nginx:("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,作用和apache的类似。它可以处理一些静态文件的请求,而对于动态的文件的请求,它可以通过fastcgi方式,来分发请求给不同的动态语言处理。

    2.flup:本身是一个使用python写的web服务器软件,它可以接受nginx发来的请求,执行相应的python代码,将结果返回给nginx。

    3.django:基于python的一个web框架,它可以我们做一些基础性的东西,比如cookie,session管理,模板机制,权限管理等等。

    在搭建环境之前,需要先安装好python环境,本文用的是python2.6.5,python的安装这里就不赘述。

    1.安装相关支持文件

    setuptools,通过setup.py安装python类库需要setuptools。

    wget http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c11-py2.6.egg
    sh setuptools-0.6c11-py2.6.egg

    pcre,正则表达式相关的类库,ospenssh,安装nginx需要。

    wget http://sourceforge.net/projects/pcre/files/pcre/8.02/pcre-8.02.tar.gz/download
    tar zxvf pcre-8.02.tar.gz
    cd pcre-8.02
    ./configure
    make
    make install
    cd ..
    apt-get install openssl libssl-devel

    zlib,压缩相关的类库,很多软件都需要。

    wget http://downloads.sourceforge.net/project/libpng/zlib/1.2.5/zlib-1.2.5.tar.gz?use_mirror=nchc
    tar zxvf zlib-1.2.5.tar.gz
    cd zlib-1.2.5
    ./configure
    make 
    make install
    cd ..

    2.安装django

    wget http://www.djangoproject.com/download/1.2.1/tarball/
    tar zxvf Django-1.2.1.tar.gz
    cd Django-1.2.1
    python setup.py install
    cd ..

    如果需要使用mysql数据的话,可以参考《Linux下安装Django1.2和Mysql-Python》。

    3.安装flup

    wget http://www.saddi.com/software/flup/dist/flup-1.0.2.tar.gz
    tar zxvf flup-1.0.2.tar.gz
    cd flup-1.0.2
    python setup.py install
    cd ..

    4.安装nginx

    wget  http://nginx.org/download/nginx-0.8.39.tar.gz
    tar zxvf nginx-0.8.39.tar.gz
    cd nginx-0.8.39
    ./configure
    make
    make instll

    注意:安装后会显示一段Configuration summary信息,可以将它保存起来,以便以后使用。

    5.配置

    配置flup和flup通过fastcgi方式通信,在运行python程序的server{..}配置节中的location{..}配置节添加以下配置:

    fastcgi_pass unix:/tmp/mysite.sock;
    fastcgi_param PATH_INFO $fastcgi_script_name;
    fastcgi_param REQUEST_METHOD $request_method;
    fastcgi_param QUERY_STRING $query_string;
    fastcgi_param CONTENT_TYPE $content_type;
    fastcgi_param CONTENT_LENGTH $content_length;
    fastcgi_pass_header Authorization;
    fastcgi_intercept_errors off;
    fastcgi_param SERVER_PROTOCOL $server_protocol;
    fastcgi_param SERVER_PORT $server_port;
    fastcgi_param SERVER_NAME $server_name;

    6.运行

    创建django项目

    cd ~
    django-admin.py startproject mysite

    以cgi方式运行django

    ~/news/manage.py runfcgi daemonize=true socket=/tmp/mysite.sock

    启动nginx

    /usr/local/nginx/sbin/nginx

    image

    享受django给你带来的乐趣吧!

  • 相关阅读:
    [BZOJ1211]:[HNOI2004]树的计数(prufer序列)
    [CSP-S模拟测试]:那一天她里我而去(堆优化Dijkstra)
    [CSP-S模拟测试]:那一天我们许下约定(DP+组合数学)
    BZOJ3130 [Sdoi2013]费用流 【网络流 + 二分】
    BZOJ3124 [Sdoi2013]直径 【树的直径】
    BZOJ3122 [Sdoi2013]随机数生成器 【BSGS】
    BZOJ2707 [SDOI2012]走迷宫 【概率dp + tarjan + 高斯消元】
    BZOJ2726 [SDOI2012]任务安排 【斜率优化 + cdq分治】
    洛谷P2351 [SDOi2012]吊灯 【数学】
    BZOJ2246 [SDOI2011]迷宫探险 【记忆化搜索dp + 概率】
  • 原文地址:https://www.cnblogs.com/lloydsheng/p/1750097.html
Copyright © 2020-2023  润新知