在Linux上安装mono,xsp,mod_mono后,可以构建一个ASP.NET环境,Mono项目是由Novell支持的。 mono官网地址:http://www.mono-project.com mono下载页面:http://www.go-mono.com/mono-downloads/download.html XSP是一个轻量级的Web服务器,它是用100%的C#代码写成的纯.Net应用程序。 下面的安装环境是: Red Hat Enterprise Linux 4 AS , mono 1.2.6 =================================================================================== 如果用rpm包安装则顺序如下:apache是采用系统自带的 2.0.59 =================================================================================== libgdiplus mono-core mono-data mono-data-firebird mono-data-oracle mono-data-postgresql mono-data-sqlite mono-data-sybase ibm-data-db2 mono-nunit mono-locale-extras rpm -ivh mono-web-1.2.6-4.novell.i586.rpm --nodeps //上面这个web和下面的winforms相互依赖,所以加上了—nodeps参数 mono-winforms mono-devel mono-extras mono-jscript mono-basic bytefx-data-mysql mono-complete xsp mod_mono 说明: --------- /usr/sbin 目录下 有apache命令执行文件 /etc/httpd 目录下 有apache配置文件 /etc/httpd/modules 和 /usr/lib/httpd/modules 文件完全一样 mono 安装后 /usr/lib/mono 和 /etc/mono 都有文件但有所不同 /usr/bin 下面有 mono 命令执行文件 xsp 安装后 /usr/lib/xsp 有文件,含test文件夹 /usr/bin 下面有 xsp 命令执行文件 安装成功,在终端中输入 xsp --root /usr/lib/xsp/test 回车后, 打开网页浏览器,输入 http://localhost:8080/,会出现XSP的欢迎页面 mod_mono 安装后 /etc/httpd/modules 和 /usr/lib/httpd/modules 多了mod_mono.so文件 /usr/bin 下面有 mod-mono-server 和 mod-mono-server2 命令执行文件 根目录下面会自动产生 /conf.d/mod_mono.conf 配置文件, 将此文件拷贝到 /etc/httpd/conf.d/ 中, 这个文件将被自动加载到 /etc/httpd/conf/httpd.conf中, 因为打开httpd.conf文件可以看到 Include conf.d/*.conf 然后在 /etc/httpd/conf/httpd.conf 中最下面加上: Alias /demo "/usr/lib/xsp/test" AddMonoApplications default "/demo:/usr/lib/xsp/test" #如果要运行的.NET版本是2.0,还需要加上下面这一句 MonoServerPath /usr/bin/mod-mono-server2 SetHandler mono 重新启动apache进行测试: 在终端中输入 apachectl restart 打开网页浏览器,输入 http://localhost/demo/,会出现XSP的欢迎页面 ==================================================================================== 如果用源码安装则顺序如下:不用系统自带的apache,我们自己安装一个,好指定路径。 ==================================================================================== 编译apache ./configure [不设置--prefix=/usr的话,默认是/usr/local/apache2,这里采用的是默认] make make install 编译mono 这个过程需要很长时间,需要耐心等待。 ./configure --prefix=/usr make make install 编译xsp ./configure --prefix=/usr make make install 安装成功,在终端中输入 xsp --root /usr/lib/xsp/test 回车后, 打开网页浏览器,输入 http://localhost:8080/,会出现XSP的欢迎页面 编译mod_mono ./configure --with-apxs=/usr/local/apache2/bin/apxs [要看apache位置情况来设置] make make install 然后配置 apache 的配置文件: 进入 /usr/local/apache2/conf ,应该看到mod_mono.conf已经存在了, 需要将其包含到httpd.conf里边,打开httpd.conf并加入下面代码: Include /usr/local/apache2/conf/mod_mono.conf Alias /demo "/usr/lib/xsp/test" #如果要运行的.NET版本是2.0,还需要加上下面这一句 AddMonoApplications default "/demo:/usr/lib/xsp/test" MonoServerPath /usr/bin/mod-mono-server2 SetHandler mono 重新启动apache进行测试: 在终端中输入 /usr/local/apache2/bin/apachectl restart 打开网页浏览器,输入 http://localhost/demo/,会出现XSP的欢迎页面 ---------------------------------------------------------------------------------- 我的目的是要在linux下面运行 asp.net 2.0 + oracle, 可惜结果如下: 如果使用的数据库是sql server,则不论是xsp还是apache+mod_mono做服务器均没有问题; 如果使用的数据库是oracle,则xsp服务器可以支持直接在页面文件写代码形式的程序,带有调用自己预编译文件的程序则无法运行,会出错,如果用apache+mod_mono做服务器则不论什么方式的编写的程序都无法运行,提示找不到libclntsh.so; ----------------------------------------------------------------------------------- 有成功经验的,请指教,谢谢! (责任编辑:IT) |