在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 中安装. ...
随机推荐
- .Net Core MVC 网站开发(Ninesky) 2.4、添加栏目与异步方法
在2.3中完成依赖注入后,这次主要实现栏目的添加功能.按照前面思路栏目有三种类型,常规栏目即可以添加子栏目也可以选择是否添加内容,内容又可以分文章或其他类型,所以还要添加一个模块功能.这次主要实现栏目 ...
- 在PowerShell中使用curl(Invoke-WebRequest)
前言 习惯了windows的界面模式就很难转去命令行,甚至以命令行发家的git也涌现出各种界面tool.然而命令行真的会比界面快的多,如果你是一个码农. situation:接到需求分析bug,需要访 ...
- ASP.NET Aries 入门开发教程7:DataGrid的行操作(主键操作区)
前言: 抓紧勤奋,再接再励,预计共10篇来结束这个系列. 上一篇介绍:ASP.NET Aries 入门开发教程6:列表数据表格的格式化处理及行内编辑 本篇介绍主键操作区相关内容. 1:什么时候有默认的 ...
- Linux CentOS 配置Tomcat环境
一.下载Tomcat 下载Tomcat方式也有两种,可以参考我的前一篇博文Linux CentOS配置JDK环境,这边就不再赘述. 二.在Linux处理Tomcat包 1.创建tomcat文件夹 mk ...
- HTML 事件(二) 事件的注册与注销
本篇主要介绍HTML元素事件的注册.注销的方式. 其他事件文章 1. HTML 事件(一) 事件的介绍 2. HTML 事件(二) 事件的注册与注销 3. HTML 事件(三) 事件流.事件委托 4. ...
- lua 学习笔记(1)
一.lua函数赋值与函数调用 在lua中函数名也是作为一种变量出现的,即函数和所有其他值一样都是匿名的,当要使用某个函数时,需要将该函数赋值给一个变量,这样在函数块的其他地方就可以通过 ...
- 消息队列性能对比——ActiveMQ、RabbitMQ与ZeroMQ(译文)
Dissecting Message Queues 概述: 我花了一些时间解剖各种库执行分布式消息.在这个分析中,我看了几个不同的方面,包括API特性,易于部署和维护,以及性能质量..消息队列已经被分 ...
- Android开发学习——画横线竖线
画横线/竖线 竖线 <View android:layout_width="1dp" android:layout_height="match_parent&quo ...
- 一个无限加载瀑布流jquery实现
实现大概是下面的效果,写了比较详细的注释 <!DOCTYPE html><html> <head> <meta charset="UTF-8&quo ...
- [DS] 标记字段
标记字段 代码中有时候有这种需求:需要一个公共访问的标记字段,以下称为标记字段. 下面是案例: 一个订单详情页面,如果页面在显示中,程序中其它地方需要访问这个"正在查看中"的订单信 ...