在lighttpd上使用fastcgi方式部署hg server
生活随笔
收集整理的這篇文章主要介紹了
在lighttpd上使用fastcgi方式部署hg server
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
lighttpd配置: #加載fastcgi模塊
server.modules?? += ( "mod_fastcgi" ) #定義一個(gè)新的web服務(wù)在81端口
$SERVER["socket"] == "0.0.0.0:81"{
??? server.document-root = "/home/hg/hgserver/"
#下面是認(rèn)證的配置
??? #auth.debug = 2
??? auth.backend = "plain"
??? auth.backend.plain.userfile = "/etc/lighttpd/lighttpd_plain.user"
??? #auth.backend = "htdigest"
??? #auth.backend.htdigest.userfile = "/etc/lighttpd/lighttpd.user"
??? auth.require = ("/" => (
??? "method" => "digest",
??? "realm" => "Mercurial Repository",
??? "require" => "valid-user"
??? #"require" => "user=see|user=test"
??? )) #fastcgi配置
??? fastcgi.server=(
??????? "/hg_fastcgi.fcgi" =>(
??????????? "hg" => (
??????????????? "bin-path" => "/usr/bin/python /home/hg/hgserver/hg_fastcgi.py socket=/tmp/hg.socket-0",
??????????????? "socket" => "/tmp/hg.socket",
??????????????? "min-procs" => 1,
??????????????? "max-procs" => 1,
??????????????? "idle-timeout" => 120,
??????????????? "check-local" => "disable",
????????? )
??????? ),
??? ) ## error-handler for status 404
??? ##server.error-handler-404? = "/app.fcgi" url.rewrite-once = (
??? "^(/.*)$" => "/hg_fastcgi.fcgi$1",
??? )
} 注意事項(xiàng): 1.剛開始加認(rèn)證部分時(shí),出現(xiàn)個(gè)怪異情況:lighttpd啟動(dòng)正常,ie或firefox鏈接那需要認(rèn)證的url時(shí),很久沒反應(yīng),一直在讀取狀態(tài);用sniffer查看網(wǎng)絡(luò)包,發(fā)現(xiàn)lighttpd返回了需要認(rèn)證并在header中有connection close信息,但連接一直不斷開。后來,將認(rèn)證配置移到fastcgi配置之前,將認(rèn)證模塊加載也放在部分模塊之前,這怪異問題就解決了。 2.lighttpd也可以象apache那樣,由lighttpd動(dòng)態(tài)啟動(dòng)、管理fcgi程序。這個(gè)方法google了很多文章都沒有講,一般都是fcgi程序需要獨(dú)立運(yùn)行。配置如上,bin-path是設(shè)置啟動(dòng)命令,這里傳了個(gè)socket參數(shù)給fcgi程序。這里需要注意:fastcgi配置的socket參數(shù)是"/tmp/hg.socket",而fcgi程序的socket=socket=/tmp/hg.socket-0,多了-0。由于lighttpd可以啟動(dòng)多個(gè)fcgi程序(上面配置max-procs=1,最多只啟動(dòng)一個(gè)fcgi),那多個(gè)fcgi程序需要使用多個(gè)unix socket與lighttpd通訊。lighttpd默認(rèn)會(huì)依次加入-0~-N。不過這個(gè)對(duì)socket的修改好像并沒有通知給fcgi,不知道某個(gè)fcgi中如何知道使用的是socket-幾? 3.具體lighttpd的fastcgi配置參考:http://redmine.lighttpd.net/projects/1/wiki/Docs:ModFastCGI hg server配置與運(yùn)行腳本:(看附件)
附件中包含:google得來的文檔、配置文件、腳本
server.modules?? += ( "mod_fastcgi" ) #定義一個(gè)新的web服務(wù)在81端口
$SERVER["socket"] == "0.0.0.0:81"{
??? server.document-root = "/home/hg/hgserver/"
#下面是認(rèn)證的配置
??? #auth.debug = 2
??? auth.backend = "plain"
??? auth.backend.plain.userfile = "/etc/lighttpd/lighttpd_plain.user"
??? #auth.backend = "htdigest"
??? #auth.backend.htdigest.userfile = "/etc/lighttpd/lighttpd.user"
??? auth.require = ("/" => (
??? "method" => "digest",
??? "realm" => "Mercurial Repository",
??? "require" => "valid-user"
??? #"require" => "user=see|user=test"
??? )) #fastcgi配置
??? fastcgi.server=(
??????? "/hg_fastcgi.fcgi" =>(
??????????? "hg" => (
??????????????? "bin-path" => "/usr/bin/python /home/hg/hgserver/hg_fastcgi.py socket=/tmp/hg.socket-0",
??????????????? "socket" => "/tmp/hg.socket",
??????????????? "min-procs" => 1,
??????????????? "max-procs" => 1,
??????????????? "idle-timeout" => 120,
??????????????? "check-local" => "disable",
????????? )
??????? ),
??? ) ## error-handler for status 404
??? ##server.error-handler-404? = "/app.fcgi" url.rewrite-once = (
??? "^(/.*)$" => "/hg_fastcgi.fcgi$1",
??? )
} 注意事項(xiàng): 1.剛開始加認(rèn)證部分時(shí),出現(xiàn)個(gè)怪異情況:lighttpd啟動(dòng)正常,ie或firefox鏈接那需要認(rèn)證的url時(shí),很久沒反應(yīng),一直在讀取狀態(tài);用sniffer查看網(wǎng)絡(luò)包,發(fā)現(xiàn)lighttpd返回了需要認(rèn)證并在header中有connection close信息,但連接一直不斷開。后來,將認(rèn)證配置移到fastcgi配置之前,將認(rèn)證模塊加載也放在部分模塊之前,這怪異問題就解決了。 2.lighttpd也可以象apache那樣,由lighttpd動(dòng)態(tài)啟動(dòng)、管理fcgi程序。這個(gè)方法google了很多文章都沒有講,一般都是fcgi程序需要獨(dú)立運(yùn)行。配置如上,bin-path是設(shè)置啟動(dòng)命令,這里傳了個(gè)socket參數(shù)給fcgi程序。這里需要注意:fastcgi配置的socket參數(shù)是"/tmp/hg.socket",而fcgi程序的socket=socket=/tmp/hg.socket-0,多了-0。由于lighttpd可以啟動(dòng)多個(gè)fcgi程序(上面配置max-procs=1,最多只啟動(dòng)一個(gè)fcgi),那多個(gè)fcgi程序需要使用多個(gè)unix socket與lighttpd通訊。lighttpd默認(rèn)會(huì)依次加入-0~-N。不過這個(gè)對(duì)socket的修改好像并沒有通知給fcgi,不知道某個(gè)fcgi中如何知道使用的是socket-幾? 3.具體lighttpd的fastcgi配置參考:http://redmine.lighttpd.net/projects/1/wiki/Docs:ModFastCGI hg server配置與運(yùn)行腳本:(看附件)
附件中包含:google得來的文檔、配置文件、腳本
轉(zhuǎn)載于:https://blog.51cto.com/seewind/162857
總結(jié)
以上是生活随笔為你收集整理的在lighttpd上使用fastcgi方式部署hg server的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Redhat linux 5.3 基于b
- 下一篇: 批量删除文件注释