免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5462 | 回复: 8
打印 上一主题 下一主题

Python如何部署为fastcgi? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-22 18:43 |只看该作者 |倒序浏览
我想在Ubuntu上用lighttpd部署Python,关于fastcgi的配置,网上都没有系统的介绍。好像和配置PHP不一样,好像是把自己写的一个单独的python程序文件拿出来做进程?具体谁能讲解一下。谢谢

论坛徽章:
0
2 [报告]
发表于 2009-11-23 08:32 |只看该作者
多手动搜索下把。

http://cleverdevil.org/computing ... i-wsgi-and-lighttpd

如果是django,webpy或者其他,相应文档都有发布的介绍滴哦

论坛徽章:
0
3 [报告]
发表于 2009-11-23 13:29 |只看该作者
请参考这篇:
Pinax(django) + fastcgi + nginx无错配置
http://www.himysql.com/?p=98

论坛徽章:
0
4 [报告]
发表于 2009-11-23 16:36 |只看该作者
我是用的flup做的fcgi,用着还可以,大概如下
lighttpd配置:

server.modules += ("mod_fastcgi")
fastcgi.server=( "/fcgi/something" =>
(
    "some" => (
    "bin-path" => "/usr/bin/python /opt/some/server/some_fcgi.py parameter",
    "socket" => "/tmp/fcgi.sock",
    "max-procs" => 1, #这个可以调,想要lighttpd启动是开几个进程就写几个
    "check-local" => "disable",
    )
),

)

脚本:
我就挑必须的写了哦
import httplib
import threading  #这个可以有,也可以没有,在一个进程中flup会把多个请求发过来,以多线程方式运行,如果有全局变量或不可重入函数,请加锁
global_lock = threading.Lock()
.
.

def blablabla():
  #加锁小心代码段异常,把自己锁死,还是要加上finally比较保险
  try:
     global_lock.acquire()
      somecode...
  finally:
     global_lock.release()
.
.

#code 422不常用,httplib里的responses里竟然没有
def http_response(code):  
    if code == 422:
        return '422 Unprocessable Entity'
    return '%s %s' % (code,httplib.responses[code])

def main_app(environ, start_response): #主调用函数,environ是一个字典,包含了所有http传过来的东西,你自己打印下就知道了
                                                     #start_response是一个函数,把response code 和header给它
    http_cmd = http_response(httplib.OK)
    http_header = [('Content-Type', 'text/plain')]
    http_content = ''"
    #处理主体,根据情况修改 http_cmd,http_header,http_content
    .
    .
    start_response(http_cmd,http_header)
    return [http_content]

if __name__ == '__main__':
    #这里想干点啥都行
    .
    .
    #启动主循环
    from flup.server.fcgi import WSGIServer
    WSGIServer(main_app).run()


基本上就这样

论坛徽章:
0
5 [报告]
发表于 2009-11-23 21:37 |只看该作者
没用框架,就自己写的PYTHON程序。

论坛徽章:
0
6 [报告]
发表于 2009-11-25 01:48 |只看该作者
留个记号..想弄个 python的服务器玩玩.

论坛徽章:
0
7 [报告]
发表于 2009-11-26 19:04 |只看该作者

回复 #6 crskykkf 的帖子

GAE提供python 2.5开发环境,而且免费
http://code.google.com/appengine/

论坛徽章:
0
8 [报告]
发表于 2009-11-26 21:36 |只看该作者
原帖由 nonultimate 于 2009-11-26 19:04 发表
GAE提供python 2.5开发环境,而且免费
http://code.google.com/appengine/


我早就申请了.
但不太爽..

自己有100M的光纤民用宽带.  垃圾电脑一台..所以..

论坛徽章:
0
9 [报告]
发表于 2009-11-27 08:37 |只看该作者
原帖由 crskykkf 于 2009-11-26 21:36 发表


我早就申请了.
但不太爽..

自己有100M的光纤民用宽带.  垃圾电脑一台..所以..


还是自己搞比较好。呵呵。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP