经过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) |