在Ubuntu13.04中配置Jexus+Mono3.2运行Asp.Net Mvc 4站点 (一)
这篇文章打算分两部分来写,第一部分介绍在Ubuntu中安装和配置.Net Framework4.5环境,第二部分介绍如何部署Asp.Net Mvc 4站点并确保Mvc4的几个重要特性都能正常工作。
一、在Ubuntu中安装和配置.Net Framework4.5环境
2年前尝试过在Ubuntu中安装与配置Mono、mod_mono及Apache来承载Mvc 3站点,事后总结记录了一篇博客。时过境迁,如今的Mono从支持.Net Framework 4.5以来也已经走过了3.x的大大小小的版本,4天前刚刚发布了3.2版。在这期间也曾经试过Mono 3.0.x系列,但因为没注意自从2.11后,Mono的安装需要一个已经存在的Mono C#编译环境,所以一直没有成功,直到前天看到张善友的《CentOS 6.3下 安装 Mono 3.2 和Jexus 5.4》。参考他的步骤,终于在Ubuntu上复制了他的成功。期间也走了弯路,我会在最后介绍怎样解决遇到的错误。
1. 安装编译Mono需要的环境
第一行为必须,第二行为可选
sudo apt-get install build-essential automake autoconf libtool bison gettext pkg-config libgdiplus
sudo apt-get install libglib2.-dev libfreetype6-dev libfontconfig-dev gettext libgif-dev libtiff4-dev libpng12-dev libexif-dev libx11-dev libxft-dev libjpeg-dev
如果你的网络环境还凑合,上述过程应该不耗多少时间,但下面两个就比较慢了,不妨喝杯茶,把两个版本的Mono下下来
cd ~/mono
wget http://download.mono-project.com/sources/mono/mono-2.10.8.tar.bz2
wget http://download.mono-project.com/sources/mono/mono-3.2.0.tar.bz2
2. 安装Mono 2.10.8
cd ~/mono
tar -xjvf mono-2.10..tar.bz2
cd mono-2.10.
然后
./configure --prefix=/usr
make
sudo make install
注意必须使用“--prefix=/usr”选项,为了确保Mono 2.10.8, Mono 3.2以及Jexus都安装在相同位置。安装成功后,mono -V应能看到版本信息。
3. 安装Mono 3.2
同样,首先解压,然后带着“--prefix=/usr”参数configure,编译,此时先不要安装
cd ~/mono
tar -xjvf mono-3.2..tar.bz2
cd mono-3.2.
./autogen.sh --prefix=/usr
make
编译完3.2后,需要先卸载2.10.8
cd ~/mono/mono-2.10.
sudo make uninstall
然后再继续安装Mono 3.2
sudo make install
安装完成后,mono -V应可看到3.2的版本信息。此时还需要ldconfig一下,确保新安装的动态库可被找到。
ldconfig
4. 安装Jexus
cd ~/jexus
wget http://www.linuxdot.net/down/jexus-5.4.tar.gz
tar -zvxf jexus-5.4.tar.gz
cd jexus-5.4
sudo ./install
默认Jexus会被安装在/usr/jexus下,此时进入该安装路径启动jexus应可成功看到info页
cd /usr/jexus
sudo ./jws start
Jexus的站点配置文件在siteconfig中,日志在log中,执行./jws start后无论成功失败没有任何消息提示,需要进入log查看,或者./jws status也行。
关于Jexus的站点配置,可参考这里:http://www.linuxdot.net/bbsfile-3084
关于Jexus与IIS8的性能比较,可参考这里:http://www.cnblogs.com/linqingfeng/archive/2013/06/14/3135716.html
启动成功后,http://localhost/info 即可看到Jexus的info页,在default站点目录下,放一个内容为<%=DateTime.Now%>的Default.aspx文件,如果可以看到
后记-错误的过程
在得出上述的步骤之前,我曾经按照如下过程安装过,最后遇到了jexus无法正常启动的错误
- ::: ==================== jws.exe error message =========================
Sender: jws.exe, Sender TypeName: AppDomain
Exception Source: jws, TargetSite Name: A
Message is:
An exception was thrown by the type initializer for Mono.Unix.Native.Syscall
StackTrace is:
at A.C.A () [0x00000] in <filename unknown>:
at A.C..ctor (System.String A) [0x00000] in <filename unknown>:
at A.o.A (System.String[] A) [0x00000] in <filename unknown>:
IsTerminating: True
1. 通过apt安装Mono,安装完成显示版本为2.10.8
2. 使用Mono 3.2在github上介绍的方法安装 Mono3.2
3. 在/usr/local下安装Jexus
Jexus的这个错误在Google上查了半天也没有查到,但只要将Mono 2.10.8、Mono 3.2和Jexus都安装在/usr下就可以成功运行。虽然问题解决了,但这个错误的具体原因还不得而知,望有高人指点。
在Ubuntu13.04中配置Jexus+Mono3.2运行Asp.Net Mvc 4站点 (一)的更多相关文章
- 在Ubuntu13.04中配置Jexus+Mono3.2运行Asp.Net Mvc 4站点 (二)
开始写这篇前看了看日期,写下这个序列的前一半竟是两个月前的事情了,无比惭愧.这段时间尝试重新组织Mvc4的项目引用,创建了两个项目模板,一个是简单模式,即仅包含Mvc基本功能.另一个是包含了Mvc4 ...
- 沉淀,再出发——在Ubuntu Kylin15.04中配置Hadoop单机/伪分布式系统经验分享
在Ubuntu Kylin15.04中配置Hadoop单机/伪分布式系统经验分享 一.工作准备 首先,明确工作的重心,在Ubuntu Kylin15.04中配置Hadoop集群,这里我是用的双系统中的 ...
- 在 docker中 运行 mono /jexus server 并部署asp.net mvc站点
http://linuxdot.net/bbsfile-3988 1. 安装 docker: // docker 1.7 新版 安装非常容易,理论上说,在主流的任意linux发行版上都可以 ...
- 在Eclipse中配置Tomcat 创建和运行Servlet/JSP
在Eclipse中配置Tomcat 创建和运行Servlet/JSP 步骤一:在Eclipse中配置Tomcat(注意下载Eclipse IDE for Java EE Developers) (1) ...
- 如何在MyEclipse中配置jre的编译运行环境
由于在MyEclipse中已经自带了jre编译环境,但由于版本太低,所以有时候需要将编译环境配置为系统的jre版本.在MyEclipse中配置jre的编译运行环境很简单,只需要全局配置一次,则所有项目 ...
- 在Ubuntu14.04中配置mysql远程连接教程
上一篇文章,小编带大家学会了在Ubuntu14.04中安装MySQL,没有来得及上课的小伙伴们可以戳这篇文章:如何在Ubuntu14.04中安装mysql,今天给大家分享一下,如何简单的配置MySQL ...
- MVC中使用EF(1):为ASP.NET MVC程序创建Entity Framework数据模型
为ASP.NET MVC程序创建Entity Framework数据模型 (1 of 10) By Tom Dykstra |July 30, 2013 Translated by litdwg ...
- 总结一下工作中遇到的NPOI以及在ASP.NET MVC中的使用
1.前言 相信大家在工作中经常要遇到一些导入导出Execl操作.学习贵在分享,分享使人快乐,园子里的前辈已经有很多好的文章,鄙人也是能力有限,在这里把这些好的文章总结,方便以后再工作中使用. NPOI ...
- 在 Ubuntu 14.04 中配置 PXE 服务器
PXE(预启动执行环境Preboot Execution Environment)服务器允许用户从网络中启动 Linux 发行版并且可以不需要 Linux ISO 镜像就能同时在数百台 PC 中安装. ...
随机推荐
- [APUE]进程控制(上)
一.进程标识 进程ID 0是调度进程,常常被称为交换进程(swapper).该进程并不执行任何磁盘上的程序--它是内核的一部分,因此也被称为系统进程.进程ID 1是init进程,在自举(bootstr ...
- Git与Repo入门
版本控制 版本控制是什么已不用在说了,就是记录我们对文件.目录或工程等的修改历史,方便查看更改历史,备份以便恢复以前的版本,多人协作... 一.原始版本控制 最原始的版本控制是纯手工的版本控制:修改文 ...
- 2.WindowsServer2012R2装完的一些友好化设置
网站部署之~Windows Server | 本地部署 http://www.cnblogs.com/dunitian/p/4822808.html#iis 1.桌面图标(控制面板里面屏蔽了,得自己输 ...
- gulp详细入门教程
本文链接:http://www.ydcss.com/archives/18 gulp详细入门教程 简介: gulp是前端开发过程中对代码进行构建的工具,是自动化项目的构建利器:她不仅能对网站资源进行优 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(72)-微信公众平台开发-消息处理
系列目录 前言 Senparc.Weixin.MP SDK提供了MessageHandler消息处理类 在作者的Wiki中也详细说明了如何定义这个类,下面我们来演示,消息的回复,及效果 了解Messa ...
- Web安全相关(四):过多发布(Over Posting)
简介 过多发布的内容相对比较简单,因此,我只打算把原文中的一些关键信息翻译一下.原文链接如下: http://www.asp.net/mvc/overview/getting-started/gett ...
- 利用Select2优化@Html.ListBoxFor显示,学会用MultiSelectList
最近需要用到多选框,Asp.Net MVC自带的@Html.ListBox或@Html.ListBoxFor的显示效果太差,于是找到了Select2进行优化,并正式了解了多选框的操作方法. 首先介绍多 ...
- jQuery radio的取值与赋值
取值: $("input[name='radioName']:checked").val(); 赋值: $("input[name='radioName'][value= ...
- iOS 方法修饰符
一.NS_DESIGNATED_INITIALIZER 用来修饰init方法,被修饰的方法称为designated initializer:没有被这个修饰的init方法称为convenience i ...
- 挑子学习笔记:两步聚类算法(TwoStep Cluster Algorithm)——改进的BIRCH算法
转载请标明出处:http://www.cnblogs.com/tiaozistudy/p/twostep_cluster_algorithm.html 两步聚类算法是在SPSS Modeler中使用的 ...