一起谈.NET技术,在Mono 2.8上部署ASP.NET MVC 2-阿里云开发者社区

开发者社区> 开发与运维> 正文

一起谈.NET技术,在Mono 2.8上部署ASP.NET MVC 2

简介:   我们知道Mono 2.8对ASP.NET MVC 2的完全支持,下面我们就来测试下在Mono 2.8上部署ASP.NET MVC 2应用程序。我的环境是Opensuse 11.3,通过以下命令部署好Mono 2.

  我们知道Mono 2.8对ASP.NET MVC 2的完全支持,下面我们就来测试下在Mono 2.8上部署ASP.NET MVC 2应用程序。我的环境是Opensuse 11.3,通过以下命令部署好Mono 2.8的开发环境,之所以说是开发环境是同时会更新MonoDevelop,支持Mono2.8的程序开发:

zypper addrepo http://ftp.novell.com/pub/mono/download-stable/openSUSE_11.3 mono-stable
zypper refresh --repo mono-stable
zypper dist-upgrade --repo mono-stable

  然后启动MonoDevelop生成一个ASP.NET MVC 2应用程序TestMvc2。

image

  我们使用Apache2 + mod_mono进行部署,设置一个虚拟主机:


<VirtualHost *:80>
ServerAdmin webmaster@dotnetting.com
ServerName www.dotnetting.com

# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
DocumentRoot /srv/www/vhosts/dotnetting/public_html

# if not specified, the global error log is used
ErrorLog /srv/www/vhosts/dotnetting/logs/error.log
CustomLog /srv/www/vhosts/dotnetting/logs/access_log combined

# don't loose time with IP address lookups
HostnameLookups Off

# needed for named virtual hosts
UseCanonicalName Off

# configures the footer on server-generated documents
 ServerSignature On

# Optionally, include *.conf files from /etc/apache2/conf.d/
# For example, to allow execution of PHP scripts:
Include /etc/apache2/conf.d/mod_mono.conf

MonoServerPath www.dotnetting.com "/usr/bin/mod-mono-server4"
MonoDebug www.dotnetting.com true
MonoSetEnv www.dotnetting.com MONO_IOMAP=all
MonoApplications www.dotnetting.com "/:/srv/www/vhosts/dotnetting/public_html"
<Location "/">
Allow from all
Order allow,deny
MonoSetServerAlias www.dotnetting.com
SetHandler mono
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI "\.(?:gif|jpg?g|png)$" no-gzip dont-vary
</Location>
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript
</IfModule>
</VirtualHost>

  这是一个通用的ASP.NET虚拟主机配置,唯一的一行不同就是MonoServerPath上设置的Mvc1还是mvc2,我们这里设置为mod-mono-server4,如果你没有修改这个地方,会收到一个错误是web.config 的 targetFramework不对。然后把我们生成测试程序拷贝到/srv/www/vhosts/dotnetting/public_html 。

  注:Mono2.8已经移除了对.NET 1.1的支持,因此也就不能设置为mod-mono-server1

  重启Apache2:service apache2 restart

  通过浏览器访问www.dotnetting.com ,记得在访问之前在host文件中配置域名的解析。可以看到下面的页面:

image

  附:个人常用的VIM命令列表

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章