Ubuntu下利用Mono,Jexus搭建Asp.Net(MVC) Web服务器
最近在Ubuntu上搭建了Asp.Net的Web服务器,其中遇到很多问题,整理一下思路,以备后用。
搭建环境以及配套软件
Ubuntu: 11.10
Mono:3.0.6 下载地址(http://download.mono-project.com/sources/mono/mono-3.0.6.tar.bz2) 出于稳定性的考虑,建议不要使用比这个版本更高的其他版本。
Jexus:5.0 下载地址(http://www.linuxdot.net/down/jexus-5.0.1.tar.gz)
安装Mono
cd /downloads
wget http://download.mono-project.com/sources/mono/mono-3.0.6.tar.bz2
tar -jxvf mono-3.0.6.tar.bz2
cd mono-3.0.6
./configure --prefix=/usr/local
make
make install
第一步:是进到下载文件的目标文件夹,可以根据自己的习惯选择,这里使用系统的downloads文件夹。
第二步:是使用下载命令下载mono源码,在http://download.mono-project.com/sources/mono/这个目录下有很多版本的mono源码,也可以根据自己的需要下载不同版本的源码进行安装。
第三步:在目标文件夹中解压改文件,不同格式的解压参数不同,tar.bz2格式的文件解压参数为 -jxvf.
第四步:文件解压成功后,进到改目录。
第五步:configure是mono的一个安装配置文件,这里我们主要配置安装路径。在接下来安装的jexus中,需要配置mono的安装路径,而jexus默认的安装路径是 /usr/local/mono,所以建议设置为 /usr/local.
第五步:编译。
第六步:安装。
特别说明:如果系统安装了其他版本的Mono,需要先卸载改版本的Mono,卸载方法是进入到安装目录,然后使用uninstall命令进行卸载。同时可以通过mono -V(注意大小写)查看mono的版本号。
#卸载
cd /usr/local/mono
make uninstall
#查看版本号
mono -V
安装Jexus
#进到下载目录
cd /usr/loacal
#下载文件
wget http://www.linuxdot.net/down/jexus-5.0.1.tar.gz
#解压文件
tar -zxvf jexus-5.0.tar.gz
#进入jexus文件夹
cd jexus
#提权(涉及到jexus的操作都需要使用root权限)
sudo su
#注册
./jws.regsvr
Jexus是一个解压即可使用的程序,所以我们可以在下载的时候选择安装路径,当然也可以下载到专用的下载目录,解压后在mv到需要安装的目录。
涉及到jexus的操作有注册服务(regsvr),启动服务(start),停止服务(stop)以及重启(restart),所有这些操作都需要root权限。
注册服务以后,jexus生成一个默认的站点,使用以下地址检测服务是否启动(http://120.0.0.1/info)

jexus的站点配置文件在安装目录下的 siteconf 文件夹下面,每一个站点对应一个目录文件。系统有一个默认的 default 配置,在这个文件当中我们可以找到并修改站点的根目录、起始地址等配置信息。default 默认的网站根目录在 /var/www/default (注意:jexus不会自动创建default目录,需要手动创建。)
上传MVC网站文件
上传网站文件需要开启ftp服务,这里使用 vsftpd ,详细的使用教程这里不做讲解。
相比普通的webform网站来讲,MVC的网站配置相对较难。主要涉及到一些MVC类库的收集,之所以使用mono 3.0.6以上的版本也是因为较早的版本需要手动添加更多的dll文件,这里我整理了mvc3需要调用到的一些库文件。以下是库文件列表:
System.Web.Helpers.dll 1.0
System.Web.Mvc.dll 3.0
System.Web.Razor.dll 1.0
System.Web.WebPages.dll 2.0
System.Web.WebPages.Razor.dll 1.0
把这些文件放在网站的 bin 目录下,一起上传到网站根目录即可。这里需要注意的一个问题是,MVC3需要System.Web.WebPages.dll2.0以上的版本,而在window下这个dll都是1.0的版本,如果直接从window下拷贝将会发生依赖错误。
接下来的一个重要的步骤就是修改网站配置文件 web.config 。
<?xml version="1.0"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=152368
--> <configuration>
<appSettings>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
</appSettings> <system.web>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
</compilation>
<globalization cultrue="zh-CN" uiCultrue="en-US"/> <authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication> <pages>
<namespaces>
<add namespace="System.Web.Helpers" />
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="System.Web.WebPages"/>
</namespaces>
</pages>
</system.web> <system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer> <runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
这里有两个细节要注意 第一个是程序集配置节中的 System.Web.WebPages.dll 的版本号,原网站可能是1.0版本的,这里需要改为2.0.
此外需要添加 <globalization cultrue="zh-CN" uiCultrue="en-US"/> 配置节。
下载工具包
点击下载mvc3工具包。
Ubuntu下利用Mono,Jexus搭建Asp.Net(MVC) Web服务器的更多相关文章
- ubuntu下通过mono+jexus布署mvc5网站
本文使用的ubuntu为14.04 LTS 一.安装mono,本文使用源码安装的方式 1.搭架mono编译环境 sudo apt-get update sudo apt-get install bui ...
- linux下利用elk+redis 搭建日志分析平台教程
linux下利用elk+redis 搭建日志分析平台教程 http://www.alliedjeep.com/18084.htm elk 日志分析+redis数据库可以创建一个不错的日志分析平台了 ...
- ubuntu下mysql的环境搭建及使用
ubuntu下mysql的环境搭建及使用 环境安装 使用如下命令分别安装服务端程序,客户端程序,及客户端依赖库 sudo apt-get install mysql-server sudo apt-g ...
- ubuntu下python flask环境搭建
ubuntu下python flask环境搭建 1. 安装pip sudo apt-get install python-dev pyhton-pip 2. 安装virtualenv sudo apt ...
- ubuntu 下 mysql数据库的搭建 及 数据迁移
1.mysql的安装 我是使用apt-get直接安装的 :sudo apt-get install mysql-server sudo apt-get install mysql-client 2.配 ...
- Ubuntu下hadoop环境的搭建(伪分布模式)
Ubuntu下hadoop环境的搭建(伪分布模式) 一.必要资源的下载 1.Java jdk(jdk-8u25-linux-x64.tar.gz)的下载 具体链接为: http://www.oracl ...
- ubuntu下Nodic开发环境搭建
ubuntu下Nodic开发环境搭建 1.编译环境 ubuntu可直接装gcc编译环境 sudo apt install gcc-arm-none-eabi 也可以下载可执行文件download 2. ...
- Ubuntu下用hadoop2.4搭建集群(伪分布式)
要真正的学习hadoop,就必需要使用集群,可是对于普通开发人员来说,没有大规模的集群用来測试,所以仅仅能使用伪分布式了.以下介绍怎样搭建一个伪分布式集群. 为了节省时间和篇幅,前面一些步骤不再叙述. ...
- 利用 nodeJS 搭建一个简单的Web服务器(转)
下面的代码演示如何利用 nodeJS 搭建一个简单的Web服务器: 1. 文件 WebServer.js: //-------------------------------------------- ...
随机推荐
- ABP框架 - OData 集成
文档目录 本节内容: 简介 安装 安装Nuget包 设置模块依赖 配置你的实体 创建控制器 示例 获取实体列表 请求 响应 获取单个实体 请求 响应 获取单个实体及导航属性 请求 响应 查询 请求 响 ...
- 逆天通用水印支持Winform,WPF,Web,WP,Win10。支持位置选择(9个位置 ==》[X])
常用技能:http://www.cnblogs.com/dunitian/p/4822808.html#skill 逆天博客:http://dnt.dkil.net 逆天通用水印扩展篇~新增剪贴板系列 ...
- webpack+react+redux+es6开发模式
一.预备知识 node, npm, react, redux, es6, webpack 二.学习资源 ECMAScript 6入门 React和Redux的连接react-redux Redux 入 ...
- JdbcTemplate+PageImpl实现多表分页查询
一.基础实体 @MappedSuperclass public abstract class AbsIdEntity implements Serializable { private static ...
- 关于 CSS 反射倒影的研究思考
原文地址:https://css-tricks.com/state-css-reflections 译者:nzbin 友情提示:由于演示 demo 的兼容性,推荐火狐浏览.该文章篇幅较长,内容庞杂,有 ...
- 品牌营销:不要Beat,要逼格!
品牌营销:不要Beat,要逼格! 奥美的创始人大卫·奥格威说,广告营销应当是"具有风度的推销产品".而当下的营销手段,"风度"早已被抛之脑后, ...
- SharePonit 2010 更改另存为列表模板的语言类型
从朋友处得来一个列表模板:AccessApplicationSharePoint.stp 将其通过:网站操作----网站设置----列表模板,上传进去.然后去创建列表,发现找不到此模板. 根据多年老司 ...
- 信息安全-5:RSA算法详解(已编程实现)[原创]
转发注明出处:http://www.cnblogs.com/0zcl/p/6120389.html 背景介绍 1976年以前,所有的加密方法都是同一种模式: (1)甲方选择某一种加密规则,对信息进行加 ...
- 敏捷测试模式之Scrum及其实践
一. 敏捷开发模式简介 敏捷是近年来软件研发领域很火的一个词,采用敏捷开发模式的研发团队是越来越多了,尤其是敏捷模式中的Scrum更是佼佼者大行其道,这表明敏捷模式确有其好处,能给企业带来效率的 ...
- 转:MSSQL还原单mdf文件报1813错误
原文地址:http://www.cnblogs.com/clownkings/p/4950865.html 解决办法: 1.首先要备份好mdf文件,如果他没了经理非吃了你不可.都不吐骨头的. 2.在数 ...