http://hi.baidu.com/24cool/blog/item/32f4e9f81c40c80dd9f9fddb.html

  • Post author:
  • Post category:其他



[转]10步完成freebsd下 python+django+fastcgi+lighttpd+sqlite3 源码安装与配置.
2007年07月31日 02:55

本文章作者寒玉轩,可任意转载。


转载时请注明:来自:



htdocs.org


作者:

寒玉轩

今日将vm虚拟服务器重新搞了一遍~系统换成了freebsd6.2


WEB服务器换成了lighttpd 感觉apache实在是太重的东西了。


python2.5+django0.96 全是最新的。


由于是lighttpd,当然选择fastcgi与django通讯咯~~


数据库是sqlite-3.3.13, 本想用3.4.0的。但不知道为什么


在freebsd6.2下始终编译不成功~      google了半天也没找到答案~ 难道是太新了?嘿~



1.最小话安装freebsd6.2 ……..(以后再写。会有插图哦!)


htdocs.org



作者:寒玉轩

2.sqlite3 :      pysqlite2还没有支持python2.5,而python2.5又整合了sqlite3~


所以我们需要先安装sqlite3 以便安装python2.5时激活这个连接模块。



#tar zxvf sqlite-3.3.13.tar.gz


#cd sqlite-3.3.13


#./configure             (缺省路径是/usr/local)


#make


#make install

3.python2.5:


没什么特殊要求默认就好咯



#tar zxvf python-2.5.tar.gz


#cd python-2.5


#./configure


#make


#make install

4.django-0.96:



#tar zxvf django-0.96.tar.gz


#cd django-0.96


#python setup.py install



cd到一个合适的地方~然后:



#django-admin.py startproject test1

(建立了一个名为”test1″的django站点。)

5.pcre-7.1


由于lighttpd 的 rewrite 是需要用到pcre正则。 为了lighttpd安装的时候可以激活mod_rewrite模块~ 我们需要先安装pcre-7.1。



#tar zxvf pcre-7.1.tar.gz


#cd pcre-7.1


#./configure


#make


#make install

6.lighttpd-1.4.13



#tar zxvf lighttpd-1.4.13.tar.gz


#cd lighttpd-1.4.13


#./configure –prefix=/usr/local/lighttpd         (缺省为/usr/local)


#make


#make install


#cp doc/lighttpd.conf /usr/local/lighttpd       (lighttpd 配置文件)

7.flup-0.5


htdocs.org



作者:寒玉轩



lighttpd默认已经整合了mod_fastcgi~ 所以我们只须安装flup.



#tar zxvf flup-0.5.tar.gz


#cd flup-0.5


#python setup.py install

8.建立fcgi文件


lighttpd 运行django 是通过fcgi文件的      所以我们要在站点的根目录下建力一个test1.fcgi文件(假设站点名称为test1)


文件内容如下:(不可照搬,需按照不同路径,不同站点名以及不同的功能需求做相应的更改。)




#!/usr/bin/python


import sys, os




# Add a custom Python path.


sys.path.insert(0, “/usr/local/bin/python”)




# Switch to the directory of your project. (Optional.)


# os.chdir(“/usr/htdocs/test1”)




# Set the DJANGO_SETTINGS_MODULE environment variable.


os.environ[‘DJANGO_SETTINGS_MODULE’] = “test1.settings”




from django.core.servers.fastcgi import runfastcgi


runfastcgi(method=”threaded”, daemonize=”false”)



记得修改执行权限:

#chmod +x manage.py



启动FCGI:


#/usr/htdocs/test1/manage.py runfcgi method=prefork socket=/tmp/test1.sock pidfile=django.pid

9.修改 lighttpd.conf :


htdocs.org



作者:寒玉轩



(不可照搬,按不同路径,不同功能 不同站点名做相应的更改。)




server.modules = (


“mod_rewrite”,


“mod_redirect”,


“mod_evasive”,


“mod_alias”,


“mod_access”,


“mod_fastcgi”,


# “mod_expire”,


# “mod_compress”,


“mod_accesslog”


)


mimetype.assign = (


“.gif”              =>          “image/gif”,


“.jpg”              =>          “image/jpeg”,


“.jpeg”             =>          “image/jpeg”,


“.css”              =>          “text/css”,


“.js”               =>          “text/javascript”


)


server.document-root = “/usr/htdocs/test1”         #此路径用来放置.fcgi文件。


fastcgi.server = (


“/test1.fcgi” => (


“main” => (


“socket” => “/tmp/test1.sock”,


“check-local” => “disable”


)


)


)


url.rewrite = (


“^(/site_media/.*)$” => “$1”,


“^(/.*)$” => “/test1.fcgi$1”


)

10.启动lighttpd


htdocs.org



作者:寒玉轩




#/usr/local/lighttpd/sbin/lighttpd -f /usr/local/lighttpd/lighttpd.conf

———————————————————————————-


呵呵好了,到这里就告一段落了~


我的django 通过lighttpd+fastcgi的方式跑起来咯~


测试一下你的服务器启动起来了吗??


相信大家都可以成功:)


有不清楚的可以给我留言,


以后再给大家一些好的文章:)

www.htdocs.org



版权声明:本文为wavee原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。