前几年使用过 webpy作个些小东西,今天有个东西从拾webpy。可是基本上都忘记了,仍是那句古话“好记性不如烂笔头”。这里把相应的步骤梳理下。php
前提: 操做系统 windowspython
1)你们喜欢使用的通常是2.7版本,相对来讲比较稳定的一个版本 安装路径:c:/python27nginx
2)配置计算机环境变量加入c:/python27路径web
1)下载 地址 http://webpy.org/static/web.py-0.37.tar.gz
windows
2)随便解压到一个路径(安装后就不须要了) 我解压到D:/webpy浏览器
3)cmd 命令 cd D:/webpy 而后运行安装命令服务器
python setup.py install
app
4)import web 建议安装是否成功tcp
1)webpy有内置的服务,咱们写一下代码保存成code.py文件 函数
import web #这条语句会导入web.py模块。 urls = ( '/', 'index' ) #这行表示咱们要URL/(首页)被一个叫index的类处理 app = web.application(urls, globals()) #会告诉web.py去建立一个基于咱们刚提交的URL列表的application。这个application会在这个文件的全局命名空间中查找对应类 class index: def GET(self): return "Hello, world!" #当有人用GET请求/时,这个GET函数随时会被web.py调用 if __name__ == "__main__": app.run() #这会告诉web.py为咱们启动上面咱们写的应用
2.保存code.py 而后cmd执行 python code.py
三、打开浏览器输入 localhost:8080就能够看到上面的结果
注意默认端口为 :8080 能够经过 python code.py 12343 这种来设定启动端口
spawn-fcig
spawn-fcgi -d /path/to/www -f /path/to/www/index.py -a 127.0.0.1 -p 9002
启动
spawn-fcgi -d /path/to/www -f /path/to/www/index.py -a 127.0.0.1 -p 9002
关闭
#!/bin/sh kill `pgrep -f "python /path/to/www/index.py"`
webpy的Index 文件加入这一行
if __name__ == "__main__": web.wsgi.runwsgi = lambda func, addr=None: web.wsgi.runfcgi(func, addr) app.run()
备注: fastcgi web服务跟 应用程序的标准, wsgi (PythonWebServerGatewayInterface) 为 flup 和 python直接的标准
错误收集:
配置 nginx + spawn + flup + web.py 一、安装web.py 、flup都比较容易 python setup.py install 二、安装 spawn 1.6.3 tar zxf spawn-fcgi-1.6.3.tar.gz cd spawn-fcgi-1.6.3 ./configure --prefix=/dicc/spawn make && make install spawn-fcgi命令启动: /dicc/spawn/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u fcgi -g fcgi -f /dicc/php/bin/php-cgi -C 50 启动运行的时候必定要 : /dicc/spawn/bin/spawn-fcgi -d /www/web/default/ -f /www/web/default/index.py -a 127.0.0.1 -p 9002 三、 启动webpy cgi: sudo spawn-fcgi -d /opt/www/python/pylog/ -f /opt/www/python/pylog/index.py -a 127.0.0.1 -p 9002 出错: spawn-fcgi: child exited with: 126 执行 chmod +x /opt/www/python/pylog/index.py 启动成功: spawn-fcgi: child spawned successfully: PID: 9208 查看端口是否存在 $ netstat -ano |grep 9002 tcp 0 0 127.0.0.1:9002 0.0.0.0:* LISTEN 关闭 (0.00/0/0)