Linux下應用Mono配置Asp.NET服務(wù)在Linux上搭建Asp.Net服務(wù)之前,請先確定已經(jīng)安裝好Linux操作系統、Mono Runtime,假如需要使用mod_mono的話(huà),還需要首先完成Apache的安裝和配制。Mono的安裝和配置請參考這里。
XSP
XSP是一個(gè)輕量級的Web服務(wù)器,它是用100%的C#代碼寫(xiě)成的純.Net應用程序。當然,它也是完全公開(kāi)源代碼的。XSP使用System.Web命名空間下的類(lèi)去完成Asp.Net的執行任務(wù),它也可以運行在Windows上(使用Microsoft .Net Framework)。
相對的來(lái)說(shuō),XSP的安裝和配制都比較簡(jiǎn)單,它的源碼包下載地址是在:XSP web server 1.0
下載軟件包后,執行:tar zxfv xsp-1.0.tar.gz來(lái)完成解壓縮,會(huì )在當前目錄下生成一個(gè)名稱(chēng)為xsp-1.0的目錄,進(jìn)入目錄后,按照以下順序進(jìn)行編譯:
./configuration
make
make install
完成編譯后,進(jìn)入server子目錄下,你可以看見(jiàn)里面有一個(gè)名字叫xsp.exe的可執行文件,這個(gè)就是xsp的主程序。
接下來(lái)可以進(jìn)行測試工作,在xsp-1.0的目錄下有一個(gè)名字叫做test的子目錄,下面有很多aspx文件,這些就是隨包附帶的測試頁(yè)面,進(jìn)入test目錄后,執行:
mono /...xsp的目錄.../server/xsp.exe
加入看見(jiàn)如下提示信息:
Adding applications ‘/:.‘...
Registering application:
Host: any
Port: any
Virtual path: /
Physical path: /
Listening on port: 8080
Listening on address: 0.0.0.0
Root directory: /
Hit Return to stop the server.
則表示 xsp已經(jīng)在8080端口進(jìn)行監聽(tīng)(默認是8080端口),如果想要關(guān)閉服務(wù)器的話(huà)直接敲回車(chē)鍵。
現在可以打開(kāi)Web瀏覽器,直接輸入:
http://你的服務(wù)器的地址:8080/
如果一切都正常的話(huà),你可以看見(jiàn)測試首頁(yè)。
XSP還有一些參數選項,輸入--help的參數就可以看見(jiàn)這些選項的列表和說(shuō)明。這里做一個(gè)簡(jiǎn)單的介紹:
--port
設置XSP服務(wù)器監聽(tīng)的端口號,默認是8080,如果XSP是你服務(wù)器上唯一的WEB服務(wù)器的話(huà),你可以把它設置為80。
--adress
設置XSP服務(wù)器監聽(tīng)的IP地址,默認是0.0.0.0,表示在所有地址上接受請求。
--root
設置網(wǎng)站的根目錄,默認是當前目錄。
--appconfigfile
設置XSP的配置文件。配置文件是一個(gè)XML格式的文件,可以將這些參數選項進(jìn)行“打包”配置。
--appconfigdir
設置XSP的配置文件目錄。假如你在一個(gè)文件中寫(xiě)不完配置的話(huà)(幾乎不可能吧),可以把配置信息寫(xiě)到多個(gè)文件中,xsp會(huì )讀取這個(gè)目錄下所有擴展名為.webapp的配置文件。
--applications
設置XSP的虛擬目錄。一個(gè)XSP服務(wù)器可以設置多個(gè)虛擬目錄,格式是:虛擬目錄名:真實(shí)路徑,如果有多個(gè)的話(huà),中間用分號隔開(kāi)。
--nonstop
敲回車(chē)鍵不關(guān)閉服務(wù)器。
--version
顯示XSP的版本號。
--verbose
打印出一些附加信息,主要用來(lái)調試用。
Apache Mono module
前面介紹的XSP是一個(gè)輕量級的服務(wù)器,那么這個(gè)應該可以算做是一個(gè)重量級的了(其實(shí)也重不到哪里去,Apache在這里只是一個(gè)代理請求的功能,主要處理其實(shí)都轉到mod_mono去了),Apache Mono module是Apache服務(wù)器的一個(gè)外掛的模塊,可以讓Apache服務(wù)器支持Asp.Net應用程序。
mod_mono在A(yíng)pache Mono module 1.0 處下載,下載后同樣是:
./configuration
make
make install
編譯完成后,就可以來(lái)配制apache服務(wù)器了,找到你的apache配置文件,一般是位于:/etc/httpd/conf/httpd.conf,使用vi編輯器打開(kāi)這個(gè)文件,在文件里面加上:
LoadModule mono_module modules/libmod_mono.so
Alias /虛擬目錄名 "真實(shí)路徑"
MonoApplications "/虛擬目錄名:真實(shí)路徑"
SetHandler mono
假如你的mono和xsp沒(méi)有安裝在標準路徑,還需要加上一些額外的參數:
MonoExecutablePath 設置mono的執行路徑
MonoServerPath 設置mod-mono-server.exe文件的路徑,注意這個(gè)文件是在XSP的軟件包中的,所以這個(gè)要設置為XSP的路徑。
一般設置了這些參數就可以了,其它的參數選項都設置為默認。
現在可以重啟Apache服務(wù)器,找到你的apachectl命令的路徑,一般是在/usr/sbin目錄下,然后使用:
apachectl restart
這時(shí)你就可以打開(kāi)瀏覽器輸入服務(wù)器地址和虛擬目錄來(lái)驗證是否已經(jīng)配置成功了。