Ubuntu lighttpd安裝解壓縮運行代碼
在向大家詳細介紹Ubuntu lighttpd之前,首先讓大家了解下Ubuntu lighttpd,然后全面介紹Ubuntu lighttpd,希望對大家有用。是的,沒錯,用Ubuntu lighttpd(念作:lighty)+mono可以在Linux上面跑Linux程序.Ubuntu lighttpd是一個輕量級服務器,設計1w+靜態(tài)網(wǎng)頁并發(fā).
剛開始把Ubuntu lighttpd配只好后,瀏覽靜態(tài)網(wǎng)頁,那個速度就像飛一樣.據(jù)說豆瓣就是靠Ubuntu lighttpd支持2500+W每天的訪問量.Ubuntu lighttpd還會支持FastCGI擴展支持更多的動態(tài)網(wǎng)頁程序.我就是安裝另一個mono的FastCGI,才使Ubuntu lighttpd可以跑ASP.NET程序的.
一.先來看看怎么安裝Ubuntu lighttpd:
(Linux下面安裝軟件有一個特點就是自己編譯,然后makeinstall.時間長了感覺很順手的,剛開始不習慣.)
1.到http://www.Ubuntu lighttpd.net/上面去下載源代碼,然后解壓縮,假設$Ubuntu lighttpd_src為源代碼目錄.
2.編譯,安裝.
假定安裝路徑為$install_root,下面用"/usr/local/Ubuntu lighttpd"為例.#cd$Ubuntu lighttpd_src#./configure--prefix=/usr/local/Ubuntu lighttpd先檢查一下類庫依賴,看看需要用到的類庫是不是都有.要是沒有的,看看少哪個,在ubuntu下就是apt-get一下.
在我的openSuSE10.3下面就是"安裝軟件",輸入名字,安裝就行了.另外,要是用openSuSE10.3的話,(我的機器)默認安裝Ubuntu lighttpd1.4.18的,那個也可以用的.要是不嫌麻煩的話,就裝一個1.4.19.
#make#sudomakeinstall至此,Ubuntu lighttpd基本所算是安裝好了,下來就是Ubuntu lighttpd的配置之類的.不想配置的話,Ubuntu lighttpd也可以用的.就看你的愛好了.反正我是不想整了,頭都大了.
Ubuntu lighttpd的啟動是:#$install_root/sbin/Ubuntu lighttpd-f$Ubuntu lighttpd_src/doc/Ubuntu lighttpd.conf
你可以把那個conf文件copy到一個你容易使用的地方,openSuSE默認的地方時/etc/Ubuntu lighttpd/Ubuntu lighttpd.conf.關閉Ubuntu lighttpd:(需要su權限)
#killallUbuntu lighttpd
3.稍微配置一下Ubuntu lighttpd.conf文件,使之可以瀏覽靜態(tài)網(wǎng)頁.看看速度如何.打開文件,找到server.document-root這個節(jié)點,后面填上靜態(tài)網(wǎng)頁的路徑,比如我的是server.document-root="/home/egmkang/Program/html/".然后啟動Ubuntu lighttpd,在瀏覽器里面輸入localhost看看.一般是可以的,要是不幸的話,看看server.bind="192.168.1.110"里面填的是什么,一般是127.0.0.1或者localhost.
二.至此,Ubuntu lighttpd就可完全工作了,
要是想跑ASP.NET程序的話,還得再加上mono的FastCGI模塊.下來我們安裝xsp,并配置好conf文件.
1.上mono的官方網(wǎng)站去down一個xsp,這個是必須的,一般會是一個rpm包.
安裝這個rpm包的時候肯定會說少什么包,就在那個網(wǎng)頁上面下載什么包.因為我是用YaST安裝的,沒注意這個事.SuSE用戶可以看看這個更新源http://en.opensuse.org/Additional_YaST_Package_Repositories#Mono
2.下來配置Ubuntu lighttpd.conf文件
在文件里面添加進去:
- ################################################
- #fastcgi-mono-server2
- ################################################
- var.mono_dir="/usr/"
- var.mono_shared_dir="/tmp/"
- var.mono_fcgi_root=server.document-root
- var.mono_fcgi_applications="/:."
- $HTTP["host"]=="192.168.1.110"{
- server.document-root="/home/egmkang/Program/html/"
- fastcgi.server=(
- ""=>((
- "socket"=>"/tmp/fastcgi-mono-server",
- "bin-path"=>"/usr/bin/fastcgi-mono-server2",
- "bin-environment"=>(
- "PATH"=>"/bin:/usr/bin:"+mono_dir+"bin",
- "LD_LIBRARY_PATH"=>mono_dir+"lib:",
- "MONO_SHARED_DIR"=>mono_shared_dir,
- "MONO_FCGI_LOGLEVELS"=>"Standard",
- "MONO_FCGI_LOGFILE"=>mono_shared_dir+"fastcgi.log",
- "MONO_FCGI_ROOT"=>mono_fcgi_root,
- "MONO_FCGI_APPLICATIONS"=>mono_fcgi_applications
- )
#這個為cgi模塊的最大實例數(shù)目
- "max-procs"=>1,
- "check-local"=>"disable"
- ))
- )
- fastcgi.map-extensions=(
- ".asmx"=>".aspx",
- ".ashx"=>".aspx",
- ".asax"=>".aspx",
- ".ascx"=>".aspx",
- ".soap"=>".aspx",
- ".rem"=>".aspx",
- ".axd"=>".aspx",
- ".cs"=>".aspx",
- ".config"=>".aspx",
- ".dll"=>".aspx",
- ".castle"=>".castle",
- ".rails"=>".rails"
現(xiàn)在重新啟動Ubuntu lighttpd,在"虛擬目錄"下面放置一個info.aspx看看能不能訪問,要是能的話,就配置好了.要是不能的話,我基本上也沒辦法....汗這個配置文件就是我機器上面的.........這個是我的info.aspx的截屏http://images.cnblogs.com/cnblogs_com/egmkang/127872/r_info.aspx.png.
3.你剛才看到了.castle.對沒錯,我在這個服務器上面成功跑起來MonoRail自帶的那個例子.(注:MonoRail自帶的例子的程序?qū)懙挠幸恍﹩栴}的,就是文件名稱的大小寫問題,剛才我好好測試了一下那個工程,全部是文件名稱的問題,他自己程序?qū)懙臅r候沒注意.而且,光靠改文件名稱的大小寫還不能是網(wǎng)站完全跑起來,得把程序里面的名字修改了,要不然他一會兒訪問Index.vm,一會兒又訪問index.vm........)
把MonoRail自帶案例的文件復制到你的虛擬目錄下面,修改Web.config文件名為web.config,./Views文件夾下面的Home文件夾為home,./Views/home/文件夾下面的Index.vm為index.vm.因為在Linux下面文件是區(qū)分大小寫的,Win下面不區(qū)分.所以那個項目在Win下面能正常運行,在Linux下面不一定可以.
(這一步我不知道可以省略不,因為沒辦法作對照實驗....)把Castle的那些dll類庫文件復制到mono的安裝目錄下面.在我的機器上面是/usr/lib/mono/2.0.要是你的機器上面不是,那就whereismono看一下.:lol這個是截屏:http://images.cnblogs.com/cnblogs_com/egmkang/127872/r_monorail.png園子把圖片的尺寸都給改了,看得很模糊,大家將就一下.
最后要說的是,Ubuntu lighttpd性能很好,這個不用我的廢話,但是需要自己慢慢調(diào)試優(yōu)化,達到最優(yōu)的效果不是很容易的.(我現(xiàn)在還是一個菜菜.剛剛會用而已:lol)要是弄得好的話,也有可能用一兩臺破服務器實現(xiàn)2500+W/天的Hits訪問量.不知道園子一天多少pv阿?貌似園子用的是8核CPU阿.......(貌似比較興奮,以為1天2500W的pv,后來一看不是500W左右.特此訂正.謝謝老趙.)
【編輯推薦】