本文将介绍如何在Linux操作系统上搭建Asp.Net服务,在阅读本文之前,读者要先确定自己已安装好Linux操作系统、Mono Runtime,假如需要使用mod_mono的话,还需要首先完成Apache的安装和配制。Mono的安装和配置请参考这里。

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 Mono module是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

  这时您就能够打开浏览器输入服务器地址和虚拟目录来验证是否已配置成功了。