> CentOS > CentOS教程 >

Centos 6.x编译安装mono搭建 ASP.NET Mvc3环境

经过N多天的死折腾了,终于在Linux上搭建起了Asp MVC3环境,留个记号查录。
这个部署能保证平台搭建完全正常,自己多次测试部署。

测试地址http://mono.itbbs.cn/

说明的是不建议以root安装,不建议以默认安装,这里将用普通用户在用户目录下自编译安装,使用apache和xsp、mod_mono支持asp。
系统:CentOS 5.6
.net:mono-2.10.2
服务器:apache
系统用户:chinafar

所有涉及的与Mono相关的软件包,官方网站可以找到:
http://ftp.novell.com/pub/mono/sources-stable/
开始动工

清理系统自带软件,安装依赖包

yum erase httpd* mono* xsp* mod_mono*
yum install glib2-devel gcc gcc-c++ bison openssl-devel gettext

创建相关目录

mkdir $HOME/software
mkdir $HOME/www
mkdir $HOME/local
cd $HOME/software

安装httpd

wget -c http://mirror.bjtu.edu.cn/apache/httpd/httpd-2.2.19.tar.bz2
tar xvf httpd-2.2.19.tar.bz2
cd httpd-2.2.19
./configure --prefix=$HOME/local/httpd --enable-shared=max --enable-headers --enable-mime-magic --enable-proxy --enable-so --enable-rewrite --enable-ssl --enable-suexec --disable-userdir --with-included-apr --with-mpm=prefork --disable-userdir --disable-cgid --disable-cgi --with-port=8080
make
make install

安装Mono

wget -c http://ftp.novell.com/pub/mono/sources/mono/mono-2.10.2.tar.bz2
tar xvf mono-2.10.2.tar.bz2
cd mono-2.10.2
./configure --prefix=$HOME/local/mono
make
make install

如果make的时候这里报locale_charset ()未定义的错误,很容易解决,见我的另一篇博客

配置用户环境(编译xsp和mod_mono有依赖)

vi $HOME/.bash_profile
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:usr/local/sbin:$HOME/local/httpd/bin:$HOME/local/mono/bin
export PKG_CONFIG_PATH=$HOME/local/mono/lib/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=$HOME/local/mono/lib
export MONO_MODULE_LIBS=$HOME/local/mono/lib

安装mod_mono

wget -c http://ftp.novell.com/pub/mono/sources/mod_mono/mod_mono-2.10.tar.bz2
tar xvf mod_mono-2.10.tar.bz2
cd mod_mono-2.10
./configure --prefix=$HOME/local/mono --with-apxs=$HOME/local/httpd/bin/apxs --with-mono-prefix=$HOME/local/mono
make
make install

安装xsp,这里配置的–prefix必须和Mono相同,否则会出错

wget -c http://ftp.novell.com/pub/mono/sources/xsp/xsp-2.10.2.tar.bz2
tar xvf xsp-2.10.2.tar.bz2
cd xsp-2.10.2
./configure --prefix=$HOME/local/mono --with-runtime=$HOME/local/mono/bin/mono
make
make install

配置环境开始

配置httpd.conf:

vi $HOME/local/httpd/conf/httpd.conf

修改服务区根目录:

DocumentRoot "/home/chinafar/www"

在最后一行加入:

include conf/mod_mono.conf
include conf/mono_apps.conf

配置mod_mono.conf:

vi $HOME/local/httpd/conf/mod_mono.conf

在最后一行加入:

MonoServerPath /home/chinafar/local/mono/bin/mod-mono-server4
MonoAutoApplication enabled

创建mono_apps.conf:

vi $HOME/local/httpd/conf/mono_apps.conf

内容如下:

Alias /test "/home/chinafar/www/test"
MonoApplications "/test:/home/chinafar/www/test"
SetHandler mono

测试asp是否可以正常运行

vi $HOME/www/default.aspx
<% Response.Write("Hello Asp"); %>

启动服务器

apachectl start

访问测试

http://domain:8080/

测试asp mvc3是否正常运行
使用Visual studio 2010创建默认asp mvc3应用,使用Razor引擎
在项目名称处右击、选择发布、文件发布、保存,进入发布的文件夹,将以下文件(查看引用的dll的属性即可找到该文件)放入bin中:
System.Web.Helpers.dll
System.Web.WebPages.Deployment.dll
System.Web.Mvc.dll
System.Web.WebPages.dll
System.Web.Razor.dll
System.Web.WebPages.Razor.dll
将整个项目文件夹打包,上传到服务器根目录$HOME/www
解压后,即可访问http://domain:8080/test。
(责任编辑:IT)