当前位置: > Linux服务器 > 环境配置 >

在Linux上构建ASP.NET环境

时间:2015-12-17 01:43来源:linux.it.net.cn 作者:IT
  在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)
------分隔线----------------------------