Ubuntu搭建Django+Flup+Nginx环境
[日期:2010-12-03] 来源:Linux社区 作者:Linux
首先我们必须明白这这3者在该环境下发挥的作用。
1.nginx:(“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,作用和apache的类似。它可以处理一些静态文件的请求,而对于动态的文件的请求,它可以通过fastcgi方式,来分发请求给不同的动态语言处理。
2.flup:本身是一个使用python写的web服务器软件,它可以接受nginx发来的请求,执行相应的python代码,将结果返回给nginx。
3.django:基于python的一个web框架,它可以我们做一些基础性的东西,比如cookie,session管理,模板机制,权限管理等等。
1.在搭建环境之前,需要先安装好python环境。
2.安装django
tar zxvfDjango-1.2.1.tar.gz
cdDjango-1.2.1
python setup.py install
或sudo apt-get install django
如果需要使用mysql数据的话,可以参考《Linux下安装Django1.2和Mysql-Python》
3.安装flup
wget http://www.saddi.com/software/flup/dist/flup-1.0.2.tar.gz
tar zxvfflup-1.0.2.tar.gz
wget http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg
将setuptools-0.6c11-py2.7.egg放flup-1.0.2目录,(将此文件改名成需要的文件名)
cd flup-1.0.2
python setup.py install
4.安装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-develzlib。
5.安装压缩相关的类库,很多软件都需要。
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 ..。
6.安装nginx
wget http://nginx.org/download/nginx-0.8.39.tar.gz
tar zxvfnginx-0.8.39.tar.gz
cdnginx-0.8.39
./configure
make
make install
注意:安装后会显示一段Configuration summary信息,可以将它保存起来以便以后使用。
5.配置
配置flup和flup通过fastcgi方式通信,在nginx配置文件夹:usr/local/nginx/conf/nginx.conf, 将fastcgi_params复制为fastcgi_params.django,修改fastcgi_params.django内容,
将fastcgi_param SCRIPT_NAME $fastcgi_script_name;
改为:
fastcgi_param PATH_INFO $fastcgi_script_name;
在nginx配置文件nginx.conf的server{..}配置节中的location{..}配置节添加以下配置:
fastcgi_pass 127.0.0.1:8051;
fastcgi_pass_header Authorization;
fastcgi_intercept_errors off;
include fastcgi_params.django;
将原有内容删掉
6.创建django项目django-admin.py startproject mysite
7.以cgi方式运行django
python manage.py runfcgi method=threaded host=127.0.0.1 port=8051
8.启动nginx
/usr/local/nginx/sbin/nginx
享受django给你带来的乐趣吧!