前幾年使用過 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)