在Mono 2.8上部署ASP.NET MVC 2
Mono 2.8发布:C#4.0和更好的性能,我们知道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。
我们使用Apache2 + mod_mono进行部署,设置一个虚拟主机:
1: <VirtualHost *:80>
2: ServerAdmin webmaster@dotnetting.com
3: ServerName www.dotnetting.com
4:
5: # DocumentRoot: The directory out of which you will serve your
6: # documents. By default, all requests are taken from this directory, but
7: # symbolic links and aliases may be used to point to other locations.
8: DocumentRoot /srv/www/vhosts/dotnetting/public_html
9:
10: # if not specified, the global error log is used
11: ErrorLog /srv/www/vhosts/dotnetting/logs/error.log
12: CustomLog /srv/www/vhosts/dotnetting/logs/access_log combined
13:
14: # don't loose time with IP address lookups
15: HostnameLookups Off
16:
17: # needed for named virtual hosts
18: UseCanonicalName Off
19:
20: # configures the footer on server-generated documents
21: ServerSignature On
22:
23:
24: # Optionally, include *.conf files from /etc/apache2/conf.d/
25: #
26: # For example, to allow execution of PHP scripts:
27: #
28: Include /etc/apache2/conf.d/mod_mono.conf
29:
30: MonoServerPath www.dotnetting.com "/usr/bin/mod-mono-server4"
31: MonoDebug www.dotnetting.com true
32: MonoSetEnv www.dotnetting.com MONO_IOMAP=all
33: MonoApplications www.dotnetting.com "/:/srv/www/vhosts/dotnetting/public_html"
34: <Location "/">
35: Allow from all
36: Order allow,deny
37: MonoSetServerAlias www.dotnetting.com
38: SetHandler mono
39: SetOutputFilter DEFLATE
40: SetEnvIfNoCase Request_URI ".(?:gif|jpg?g|png)$" no-gzip dont-vary
41: </Location>
42: <IfModule mod_deflate.c>
43: AddOutputFilterByType DEFLATE text/html text/plain text/xml text/javascript
44: </IfModule>
45:
46: </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文件中配置域名的解析。可以看到下面的页面:
- 如何将finecms链接URL中的list和show去掉
- Solidity语法知识点(文末有彩蛋)
- 人脸Haar特征与快速计算神器:积分图
- 内存为王:DBIM RAC Share Nothing架构的挑战和解决方案
- 调用finecms栏目多图怎么实现
- phpcms调用子栏目名称/文章怎么操作
- 小程序开发工具全新上线 附下载地址和教程
- JS页面跳转代码怎么写?总结了5种方法
- finecms如何控制调用子栏目的数量
- finecms如何调用多个指定栏目的内容
- finecms同时调用子栏目和子栏目的文章怎么操作
- 群体智能算法-黏菌寻找食物最优路线行为模拟 2
- thinkcmf安装教程与目录结构详解 快速上手版
- finecms如何批量替换文章中的关键词?
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- slenium模拟登陆知乎2020
- Android两种轮询的实现方法
- 汉诺塔问题
- Android实现雷达View效果的示例代码
- Android Studio 创建自定义控件的方法
- Android实现轮询的三种方式
- Flutter 状态管理的实现
- Android FTP服务器上传文件攻略(代码详解)
- Android 集成 google 登录并获取性别等隐私信息的实现代码
- android通过servlet上传文件到服务器
- 面向对象语言的三大特征: 封装 继承 多态(一)——封装
- Android EditText随输入法一起移动并悬浮在输入法之上的示例代码
- 突击并发编程JUC系列-并发容器ConcurrentHashMap
- android通过servlet服务器保存文件到手机
- Android开发疫情查询app(实例代码)