XSP
XSP是一個輕量級的Web服務器,它是用100%的C#代碼寫成的純.Net應用程序。當然,它也是完全公開源代碼的。XSP使用System.Web命名空間下的類去完成Asp.Net的執行任務,它也可以運行在Windows上(使用Microsoft .Net Framework)。
相對的來說,XSP的安裝和配制都比較簡單,它的源碼包下載地址是在:XSP web server 1.0
下載軟件包后,執行:tar zxfv xsp-1.0.tar.gz來完成解壓縮,會在當前目錄下生成一個名稱為xsp-1.0的目錄,進入目錄后,按照以下順序進行編譯:
./configuration
make
make install
完成編譯后,進入server子目錄下,你可以看見里面有一個名字叫xsp.exe的可執行文件,這個就是xsp的主程序。
接下來可以進行測試工作,在xsp-1.0的目錄下有一個名字叫做test的子目錄,下面有很多aspx文件,這些就是隨包附帶的測試頁面,進入test目錄后,執行:
mono /...xsp的目錄.../server/xsp.exe
加入看見如下提示信息:
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已經在8080端口進行監聽(默認是8080端口),如果想要關閉服務器的話直接敲回車鍵。
現在可以打開Web瀏覽器,直接輸入:
http://你的服務器的地址:8080/
如果一切都正常的話,你可以看見測試首頁。
XSP還有一些參數選項,輸入--help的參數就可以看見這些選項的列表和說明。這里做一個簡單的介紹:
--port
設置XSP服務器監聽的端口號,默認是8080,如果XSP是你服務器上唯一的WEB服務器的話,你可以把它設置為80。
--adress
設置XSP服務器監聽的IP地址,默認是0.0.0.0,表示在所有地址上接受請求。
--root
設置網站的根目錄,默認是當前目錄。
--appconfigfile
設置XSP的配置文件。配置文件是一個XML格式的文件,可以將這些參數選項進行“打包”配置。
--appconfigdir
設置XSP的配置文件目錄。假如你在一個文件中寫不完配置的話(幾乎不可能吧),可以把配置信息寫到多個文件中,xsp會讀取這個目錄下所有擴展名為.webapp的配置文件。
--applications
設置XSP的虛擬目錄。一個XSP服務器可以設置多個虛擬目錄,格式是:虛擬目錄名:真實路徑,如果有多個的話,中間用分號隔開。
--nonstop
敲回車鍵不關閉服務器。
--version
顯示XSP的版本號。
--verbose
打印出一些附加信息,主要用來調試用。
Apache Mono module
前面介紹的XSP是一個輕量級的服務器,那么這個應該可以算做是一個重量級的了(其實也重不到哪里去,Apache在這里只是一個代理請求的功能,主要處理其實都轉到mod_mono去了),Apache Monomodule是Apache服務器的一個外掛的模塊,可以讓Apache服務器支持Asp.Net應用程序。
mod_mono在Apache Mono module 1.0 處下載,下載后同樣是:
./configuration
make
make install
編譯完成后,就可以來配制apache服務器了,找到你的apache配置文件,一般是位于:/etc/httpd/conf/httpd.conf,使用vi編輯器打開這個文件,在文件里面加上:
LoadModule mono_module modules/libmod_mono.so
Alias /虛擬目錄名 "真實路徑"
MonoApplications "/虛擬目錄名:真實路徑"
SetHandler mono
假如你的mono和xsp沒有安裝在標準路徑,還需要加上一些額外的參數:
MonoExecutablePath 設置mono的執行路徑
MonoServerPath 設置mod-mono-server.exe文件的路徑,注意這個文件是在XSP的軟件包中的,所以這個要設置為XSP的路徑。
一般設置了這些參數就可以了,其它的參數選項都設置為默認。
現在可以重啟Apache服務器,找到你的apachectl命令的路徑,一般是在/usr/sbin目錄下,然后使用:
apachectl restart
這時你就可以打開瀏覽器輸入服務器地址和虛擬目錄來驗證是否已經配置成功了。
原文轉自:http://www.anti-gravitydesign.com