Ubuntu如何搭建Django與Flup和Nginx環(huán)境?
Ubuntu系統(tǒng)越來越多的用戶開始使用,本文介紹的是搭建Django+Flup+Nginx環(huán)境的過程。
首先我們必須明白這這3者在該環(huán)境下發(fā)揮的作用。
1.nginx:("enginex")是一個高性能的HTTP和反向代理服務(wù)器,作用和apache的類似。它可以處理一些靜態(tài)文件的請求,而對于動態(tài)的文件的請求,它可以通過fastcgi方式,來分發(fā)請求給不同的動態(tài)語言處理。
2.flup:本身是一個使用python寫的web服務(wù)器軟件,它可以接受nginx發(fā)來的請求,執(zhí)行相應(yīng)的python代碼,將結(jié)果返回給nginx。
3.django:基于python的一個web框架,它可以我們做一些基礎(chǔ)性的東西,比如cookie,session管理,模板機制,權(quán)限管理等等。
在搭建環(huán)境之前,需要先安裝好python環(huán)境,本文用的是python2.6.5,python的安裝這里就不贅述。
1.安裝相關(guān)支持文件
setuptools,通過setup.py安裝python類庫需要setuptools。
- wgethttp://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c11-py2.6.egg
shsetuptools-0.6c11-py2.6.eggpcre,正則表達式相關(guān)的類庫,ospenssh,安裝nginx需要。
- wgethttp://sourceforge.net/projects/pcre/files/pcre/8.02/pcre-8.02.tar.gz/download
- tarzxvfpcre-8.02.tar.gz
- cdpcre-8.02
- ./configure
- make
- makeinstall
- cd..
apt-getinstallopenssllibssl-develzlib,壓縮相關(guān)的類庫,很多軟件都需要。
- wgethttp://downloads.sourceforge.net/project/libpng/zlib/1.2.5/zlib-1.2.5.tar.gz?use_mirror=nchc
- tarzxvfzlib-1.2.5.tar.gz
- cdzlib-1.2.5
- ./configure
- make
- makeinstall
- cd..
2.安裝django
- wgethttp://www.djangoproject.com/download/1.2.1/tarball/
- tarzxvfDjango-1.2.1.tar.gz
- cdDjango-1.2.1
- pythonsetup.pyinstall
cd..如果需要使用mysql數(shù)據(jù)的話,可以參考《Linux下安裝Django1.2和Mysql-Python》。
3.安裝flup
- wgethttp://www.saddi.com/software/flup/dist/flup-1.0.2.tar.gz
- tarzxvfflup-1.0.2.tar.gz
- cdflup-1.0.2
- pythonsetup.pyinstall
- cd..
4.安裝nginx
- wgethttp://nginx.org/download/nginx-0.8.39.tar.gz
- tarzxvfnginx-0.8.39.tar.gz
- cdnginx-0.8.39
- ./configure
- make
makeinstll注意:安裝后會顯示一段Configurationsummary信息,可以將它保存起來,【LINUX公社www.LinuxIDC.com】以便以后使用。
5.配置
配置flup和flup通過fastcgi方式通信,在運行python程序的server{..}配置節(jié)中的location{..}配置節(jié)添加以下配置:
- fastcgi_passunix:/tmp/mysite.sock;
- fastcgi_paramPATH_INFO$fastcgi_script_name;
- fastcgi_paramREQUEST_METHOD$request_method;
- fastcgi_paramQUERY_STRING$query_string;
- fastcgi_paramCONTENT_TYPE$content_type;
- fastcgi_paramCONTENT_LENGTH$content_length;
- fastcgi_pass_headerAuthorization;
- fastcgi_intercept_errorsoff;
- fastcgi_paramSERVER_PROTOCOL$server_protocol;
- fastcgi_paramSERVER_PORT$server_port;
- fastcgi_paramSERVER_NAME$server_name;6.運行
創(chuàng)建django項目
- cd~
- django-admin.pystartprojectmysite以cgi方式運行django
- ~/news/manage.pyrunfcgidaemonize=truesocket=/tmp/mysite.sock啟動nginx
- /usr/local/nginx/sbin/nginx

享受django給你帶來的樂趣吧!
總結(jié):
希望本文介紹的Ubuntu下搭建Django+Flup+Nginx環(huán)境的方法能夠?qū)ψx者有所幫助,更多有關(guān)linux系統(tǒng)的知識還有待于讀者去探索和學(xué)習(xí)。
【編輯推薦】