很早之前就开始关注.net跨平台,最近正好测试了下用EF6连接mysql,于是就想直接把网站扔进Linux。查了很多资料,鼓捣了两个晚上,终于成功。

这里我使用的是budgetvm的1G openvz vps,centos7 64位。原本按照普遍的做法编译mono,各种失败,之后在官网上看到了官方推荐的安装方法,简单有效。

1.在root权限下执行

rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
yum-config-manager --add-repo http://download.mono-project.com/repo/centos/

(若上面第二行执行失败,先执行下面一行,再重新执行上面第二行)

yum -y install yum-utils

前两行执行成功后,执行安装mono所有软件包

yum –y install mono-complete

安装完后,执行

mono –V

会显示mono版本信息,这里会安装最新的稳定版。2016年3月20日最新稳定版mono-4.2.3.4

2.安装jexus5.8.1

cd /tmp
wget linuxdot.net/down/jexus-5.8..tar.gz
tar -zxvf jexus-5.8..tar.gz
cd jexus-5.8.
sudo ./install

此时启动jexus会启动失败,查看日志发现80端口被占用,查看80端口占用情况,发现是centos自带的apache占用了80端口

3.卸载占用80端口的apache

rpm -qa|grep httpd
rpm -e httpd

4.启动jexus

启动:sudo /usr/jexus/jws start
停止:sudo /usr/jexus/jws stop
重启:sudo /usr/jexus/jws restart
重启指定网站:sudo /usr/jexus/jws restart siteName
停止指定网站:sudo /usr/jexus/jws stop siteName

由于centos防火墙设置问题,需要开放80端口:

vi /etc/sysconfig/iptables

在其中增加一行
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT 保存后。重启防火墙
service iptables restart

此时,我们可以打开http://your ip/info 来查看你的jexus是否已成功启动,如http://www.jenyunet.com/info

5.配置网站

进入目录/usr/jexus/siteconf修改网站配置,具体见jexus官网。

6.支持的.net版本和mvc问题

有人说mono自4.2.1开始就已经支持mvc5了,但我把mvc5的网站放上去就报错,无法解决。

后来查看了下报错信息,发现mono-4.2.3.4支持的.net 对应版本是4.0.30319.17020 而.net4.5版本为4.0.30319.17929 .net4.5.1版本为4.0.30319.34003,

所以mono-4.2.3.4是不支持.net4.5及以后的版本的,所以mvc5也应该是不支持的

把网站从mvc5.2修改到mvc4,其中还报废了httpclint这个新玩意,传上去运行正常。我的项目

centos7+mono4.2.3.4+jexus5.8.1跨平台起飞的更多相关文章

  1. VS2015创建的Asp.net WebApi默认项目在CentOS7+Mono4.2.2+jexus5.8运行不起来的解决方案

    主要原因是Web.config配置的问题. 修改成如下内容: <?xml version="1.0" encoding="utf-8"?> < ...

  2. centos7+mono4+jexus5.6.2安装过程中的遇到的问题

    过程参考: http://www.linuxdot.net/ http://www.jexus.org/ http://www.mono-project.com/docs/getting-starte ...

  3. CentOS7+Mono5.2.0.224 +Jexus5.8.3.0 布署 Asp.Net MVC (vs2017)

    背景: 比起大神我们只是差远了,只知道一味的找找看,找的资料不少,但真不知道哪一个是正确的. 之前一个文章也写了怎么安装 Jexus 但始终只有是html的静态页面可以asp.net 都不行(http ...

  4. 基于CentOS-7.2.15的Mono+jexus镜像

    公司开发及测试的linux环境为CentOS-7.X,因此以CentOS-7.2.15作为基础镜像,镜像尺寸确实比较大,最终Mono-4.6.0.125+Jexus-5.8.1.10镜像尺寸已将近1G ...

  5. CentOS7 安装 jexus-5.8.2-x64

    前要提示: 如果你要安装asp.net 请参考: http://www.cnblogs.com/xiaoruilin/p/7867823.html 背景: CentOS7 Mono (Mono JIT ...

  6. centos7+jexus5.8.3部署ASP.NET的MVC项目

    1.在centos7终端以root权限安装jexus5.8.3的独立版 命令:curl https://jexus.org/release/x64/install.sh|sh 2.跳转到目录/usr/ ...

  7. centos7配置mono和jexus5.6.2

    一.通过集成包安装mono: 1.添加Mono的 包库源: 把Mono Project public Jenkins GPG signing  导入系统 wget http://jenkins.mon ...

  8. CentOS7下自定义目录安装mono+jexus教程

    一.阅读前须知: 1.本文属于安装完Centos7之后的步骤 2.如果还不了解mono,请点击mono 3.本篇主要内容是使用自定义目录安装mono+jexus教程,使用默认目录请查看使用默认目录安装 ...

  9. CentOS7下默认目录安装mono+jexus教程

    一.阅读前须知: 1.本文属于安装完Centos7之后的步骤 2.如果还不了解mono,请点击mono 3.本篇主要内容是使用默认目录安装mono+jexus教程,使用自定义目录请查看使用自定义目录安 ...

随机推荐

  1. 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代

    2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...

  2. C语言 · 4_2找公倍数

    问题描述 这里写问题描述. 打印出1-1000所有11和17的公倍数. 样例输入 一个满足题目要求的输入范例.例:无 样例输出 与上面的样例输入对应的输出.例:   代码如下: #include< ...

  3. 使用Zabbix监控Oracle数据库

    Orabbix介绍 监控Oracle数据库我们需要安装第三方提供的Zabbix插件,我们先测试比较有名的Orabbix,http://www.smartmarmot.com/product/orabb ...

  4. ASP.NET Core的路由[1]:注册URL模式与HttpHandler的映射关系

    ASP.NET Core的路由是通过一个类型为RouterMiddleware的中间件来实现的.如果我们将最终处理HTTP请求的组件称为HttpHandler,那么RouterMiddleware中间 ...

  5. .NET Core采用的全新配置系统[10]: 配置的同步机制是如何实现的?

    配置的同步涉及到两个方面:第一,对原始的配置文件实施监控并在其发生变化之后从新加载配置:第二,配置重新加载之后及时通知应用程序进而使后者能够使用最新的配置.要了解配置同步机制的实现原理,先得从认识一个 ...

  6. [.NET] 利用 async & await 的异步编程

    利用 async & await 的异步编程 [博主]反骨仔 [出处]http://www.cnblogs.com/liqingwen/p/5922573.html  目录 异步编程的简介 异 ...

  7. C#中如何在Excel工作表创建混合型图表

    在进行图表分析的时候,我们可能需要在一张图表呈现两个或多个样式的图表,以便更加清晰.直观地查看不同的数据大小和变化趋势.在这篇文章中,我将分享C#中如何在一张图表中创建不同的图表类型,其中包括如何在同 ...

  8. OEL上使用yum install oracle-validated 简化主机配置工作

    环境:OEL 5.7 + Oracle 10.2.0.5 RAC 如果你正在用OEL(Oracle Enterprise Linux)系统部署Oracle,那么可以使用yum安装oracle-vali ...

  9. Lind.DDD.LindAspects方法拦截的介绍

    回到目录 什么是LindAspects 之前写了关于Aspects的文章<Lind.DDD.Aspects通过Plugins实现方法的动态拦截~Lind里的AOP>,今天主要在设计思想上进 ...

  10. 【JavaScript】innerHTML、innerText和outerHTML的用法区别

    用法: <div id="test">   <span style="color:red">test1</span> tes ...