lighttpd下pylons的scgi發布
scgi協議是cgi協議的替代者,是一種應用程式和http伺服器之間通訊介面的標準,類似於
fastcgi協議,但更容易實現。
pylons構建於
paste之上,可以使用pastedeploy啟動乙個
wsgi服務來執行pylons應用程式,在後台通過
flup以fastcgi、scgi、ajp等方式和http伺服器(apache或lighttpd)相通訊。 apache和lighttpd的windows下的安裝包中都提供了fastcgi模組,不過按照pylons文件中的說明配置後,一執行就出錯,根據trackback資訊發現,是因為flup中相關**使用了一些windows下沒有提供的socket函式,程式無法執行。 lighttpd另外提供了scgi模組,嘗試後發現flup的多執行緒模式(thread)的scgi服務可以啟動,但是多程序模式(forked)不行,原因和fastcgi類似。下面就講一下lighttpd下pylons的scgi發布配置。 首先,你需要安裝flup包。 如果你已安裝了setuptools工具包,那就可以執行
easy_install -u flup來安裝。 然後,修改程式配置檔案(就是生成pylons程式後應用程式目錄下的那個development.ini檔案)中的設定:
...use行指定了啟動wsgi服務的方式,預設為egg:paste#http,我們需要啟動scgi服務,所以修改為egg:pastescript#flup_scgi_thread。 在命令列中執行[server:main]
use = egg:pastescript#flup_scgi_thread
host = 0.0.0.0
port = 5000
...
paster serve development.ini,就可以和http伺服器進行通訊了。 接著應該設定lighttpd了。開啟lighttpd.conf,確定模組列表中有mod_scgi,要注意的是該模組應該在mod_rewrite和mod_access之後,但在mod_accesslog之前,然後再新增如下配置:
scgi.server = ( "/" =>乙個簡單的scgi配置就好了,你可以啟動瀏覽器,鍵入位址127.0.0.1:5000,是否看到了熟悉的pylons程式預設頁面? apache下沒有現成的scgi模組(在網上找到過乙個,但似乎不是for 2.x的,apache2.2下一載入就出錯),不過可以在(("host" => "127.0.0.1",
"port" => 5000,
"check-local" => "disable",
"docroot" => "/"
)))
python cheese shop上找乙個scgi包,裡面有apache模組的源程式。原以為在windows下編譯會很麻煩,不過試了一下,其實很簡單:在vc環境中,建立乙個dll工程,把scgi原始檔新增進去,然後把apache的頭檔案目錄新增到工程配置中,應該就可以順利編譯了。
awstats在lighttpd下的安裝配置
本人對perl一竅不通,為了awstats,搗鼓了半天,特記錄如下 awstats是乙個很好用的站點日誌統計工具,本身是用perl實現的,lighttpd也可以使用awstats來進行統計工作 機器上需要perl 廢話 版本最好新一點,雖然awstats對版本要求不高,但awstats提供了一些很有...
安裝工具Ubuntu下Pylons環境的安裝
最近研究安裝工具,稍微總結一下,後以續繼補充 安裝境環 ubuntu12.10 1 為了便方後以安裝python的包,安裝easy install工具,執行如下的令命 sudo apt get install python setuptools 安裝完成後就能夠直接在shell境環中用使easy i...
lighttpd編譯安裝手記
1.使用如下命令 報錯 沒有找到包 pcre devel 安裝pcre devel rpm ivh pcre devel 6.6 1.1.i386.rpm 報錯 checking for fam.configure error package requirements gamin 0.1.0 wer...