一、关于 CentOS

  CentOS(Community Enterprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS并不包含封闭源代码软件。目前最新版本为 6.4。

  CentOS 有如下特点:

  • 可以把CentOS理解为Red Hat AS系列!它完全就是对Red Hat AS进行改进后发布的!各种操作、使用和RED HAT没有区别!
  • CentOS完全免费,不存在RED HAT AS4需要序列号的问题。
  • CentOS独有的yum命令支持在线升级,可以即时更新系统,不像RED HAT那样需要花钱购买支持服务!

  下载地址请戳 http://mirror.bit.edu.cn/centos/6.4/isos/x86_64/

  其中,LiveCD 为体验版,netinstall 为网络安装,minimal 为最小化安装,bin-DVD1/bin-DVD2 为完整版。

二、关于 Mono

  Mono 是一个由 Xamarin 公司主持的项目。该项目的目标是创建一系列符合 ECMA 标准(Ecma-334 和 Ecma-335)的 .NET 工具,包括 C# 编译器和共通语言运行平台。。目前最新版本为 3.2。(更多请戳http://zh.wikipedia.org/wiki/Mono

  下载地址为 http://download.mono-project.com/sources/mono/

三、关于 Jexus
  Jexus web server for linux 是一款基于.NET兼容环境,运行于Linux/unix操作系统之上,以支持ASP.NET为核心功能的高性能WEB服务器。目前最新版本为 5.4。
  Jexus 有如下功能特点:

  • 支持ASP.NET。这是Jexus的核心功能。无论是稳定性、易用性还是并发承载能力、并行处理速度,Jexus对ASP.NET的支持都是非常优秀的;
  • 支持Fast-CGI。通Fast-CGI,Jexus能支持包括PHP在内的所有拥有Fast-CGI服务功能的WEB应用;
  • 具备基于正则表达式的强大的URL重写功能;
  • 具有强劲的反向代理功能。支持多目标负载均衡,支持本地网站与远程网站无缝整合;
  • 拥有强大的流媒体支持能力,支持FLV/F4V视频文件拖动播放,支持微软平滑流媒体技术;
  • 支持“服务器推送”技术,配备了相应的服务器端、客户端开发接口,是开发现代WEB应用的利器;
  • 具备可控的“ASP.NET前置缓存”,能最大限度地提高ASP.NET网站的承载能力和响应速度;
  • 支持Https,具有SSL加密数据安全传输能力;
  • 具有基础而实用的入侵检测功能,能自动终止已被识别的非法请求;
  • 安装部署非常简便,操作使用极为简单。

  更多请戳http://www.linuxdot.net/bbsfile-3084

四、环境准备

  1.安装 CentOS

  在虚拟机中搭建一个干净的 CentOS 环境。这里选择 CentOS 6.4 Minimal 清爽版本,安装后用 yum update 命令更新系统。

  

  2.安装依赖的库
(1)编译与配置环境
build-essential (或gcc和gcc-c++)
make
automake
autoconf
pkgconfig
 
 
(2)Libgdiplus所需要的支持库:
giflib-devel
libpng-devel
libjpeg-devel
libtiff-devel
libX11-devel
libexif-devel
libXft-devel
(3)Mono所需要的支持库:
bison
gettext
glib2-devel
freetype-devel
  fontconfig-devel
  
 
  (4)安装 wget
  CentOS minimal 没有 wget,需要自己安装
  
  
  3.安装 libgdiplus(GDI+ 兼容库)
  

  

  

  

  

  

  4.安装 mono-3.0.7

  (1)安装 mono-3.0.7(“git安装mono,常常需要系统中已经安装了mono 2.4以上版本。所以,git全新安装前,应该用源码安装一个低版本mono,并注意目标文件夹,一定要指定同一个地方,强烈建议用 --prefix=/usr 参数。” http://linuxdot.net/bbsfile-3304

  下载压缩包,解压

  

  

  编译,安装 mono-3.0.7

  

  

  

  mono -V 命令查看 mono-3.0.7 已经成功安装

  

  5.安装 git

  先安装git依赖的包
    
  安装autoconf
  
   
  安装git
  
   
  
   
  
   
  
   
  
   
  

  6.通过 git 更新 mono 到 3.2.0 版本

  git clone 下载 mono 最新版本

  

  编译 mono-3.2.0,覆盖安装

  

  

  

  mono -V 命令查看 mono-3.2.0(git 下载源码编译后,版本变成 3.3.0) 已经成功安装

  

  mono-3.2.0 增加以下新特性(更多请戳:http://www.oschina.net/news/42616/mono-3-2-released):

  • LLVM 更新到 3.2 版本,带来更多的编译优化
  • 默认使用 SGen Garbage Collector 垃圾收集器
  • Low pause mode
  • Low promotion nursery
  • 高精度的堆栈扫描 Mostly precise stack scanning
  • Mono 3.2 基础类库可完整构建 Xamarin 的移动 profile
  • 降低编译后的文件包大小
  • 性能提升

五.安装 jexus

  1.安装 Jexus

  下载 Jexus 源码,解压

  

  

  Jexus 的安装已经简化,只需要 ./install 一个命令

  

  启动Jexus

  

  2.配置Jexus自动启动

  打开 /etc/rc.local 文件,在最后一行添加 /usr/jexus/jws start(5.2 及之前版本为 /usr/jexus/jws.start)

  

  

  按 esc,:wq! 命令保存退出。

  3.配置防火墙开放 80 端口

  用 iptables 命令修改防火墙配置,开放80端口(需要重启虚拟机)

  

  4.测试

  curl 访问 http://localhost/info ,返回“ welcome to jexus!”

  

  ifconfig 查的虚拟机 ip 为 192.168.10.198

  

  浏览器输入:http://192.168.10.198/info

  

六、部署 wcf 服务到 Jexus

  1.部署 wcfservcie

  这里把网站目录放在 /var/www 下。系统没有 www 文件夹,用 mkdir 命令创建

  

  这里用 上一篇文章 编译得到的 wcf 服务,wget 下载并解压

  

  

  ls -l 命令查看 wcfservice 目录

  

  2.配置 jexus siteconf

  jexus 网站配置文件为 /usr/jexus/siteconf/default

  

  

  root 可以指定多个,以下为默认值

  

  把 /var/www/default 修改为 wcfservcie 的路径,:wq! 命令保存退出。

  

  restart 命令重启 jexus

  

  通过浏览器访问 http://192.168.10.198/Service.svc 及 http://192.168.10.198/Service.svc?wsdl

  

  

  至此,wcfservice 已经部署完毕

  3.测试 wcfservice

  测试逻辑如下

  

  修改服务引用到 jexus 上的 wcfservice 地址

  

  测试成功!

  

七、结语

  对 jexus 的关注差不多四年,从 3.x 版本到现在 5.4 版本,jexus 已经趋于成熟。

  这是一个 Hello world。感谢Jexus作者宇内流云对吾小白的耐心指导。

  

Hello Jexus的更多相关文章

  1. Jexus 5.8.2 正式发布为Asp.Net Core进入生产环境提供平台支持

    Jexus 是一款运行于 Linux 平台,以支持  ASP.NET.PHP 为特色的集高安全性和高性能为一体的 WEB 服务器和反向代理服务器.最新版 5.8.2 已经发布,有如下更新: 1,现在大 ...

  2. 使用Visual Studio 2015 开发ASP.NET MVC 5 项目部署到Mono/Jexus

    最新的Mono 4.4已经支持运行asp.net mvc5项目,有的同学听了这句话就兴高采烈的拿起Visual Studio 2015创建了一个mvc 5的项目,然后部署到Mono上,浏览下发现一堆错 ...

  3. 通过Jexus 部署 dotnetcore版本MusicStore 示例程序

    ASPNET Music Store application 是一个展示最新的.NET 平台(包括.NET Core/Mono等)上使用MVC 和Entity Framework的示例程序,本文将展示 ...

  4. 结合Jexus + Kestrel 部署 asp.net core 生产环境

    ASP.NET Core 是微软的全新的框架.这一框架的目标 ︰ 跨平台 针对云应用优化 解除 System.Web 的依赖. 获得下面三个方面的优势,你可以把它认为是一个C# 版本的NodeJS: ...

  5. .NET跨平台之运行与Linux上的Jexus服务器

    谈及.NET跨平台,已经不是什么稀奇的事儿.今天我们就以Jexus服务器的部署为例.简单示范下.在这里,我用VMWare虚拟机来搭建Linux运行环境. Linux,我们选择CentOS7.大家可以前 ...

  6. 在.NET Core之前,实现.Net跨平台之Mono+CentOS+Jexus初体验

    准备工作 本篇文章采用Mono+CentOS+Jexus的方式实现部署.Net的Web应用程序(实战,上线项目). 不懂Mono的请移步张善友大神的:国内 Mono 相关文章汇总 不懂Jexus为何物 ...

  7. Ubuntu下利用Mono,Jexus搭建Asp.Net(MVC) Web服务器

    最近在Ubuntu上搭建了Asp.Net的Web服务器,其中遇到很多问题,整理一下思路,以备后用. 搭建环境以及配套软件 Ubuntu: 11.10 Mono:3.0.6 下载地址(http://do ...

  8. CentOS 6.3下 安装 Mono 3.2 和Jexus 5.4

    最新更新参看: Centos 7.0 安装Mono 3.4 和 Jexus 5.6 2012年初写过一篇<32和64位的CentOS 6.0下 安装 Mono 2.10.8 和Jexus 5.0 ...

  9. 在Ubuntu13.04中配置Jexus+Mono3.2运行Asp.Net Mvc 4站点 (一)

    这篇文章打算分两部分来写,第一部分介绍在Ubuntu中安装和配置.Net Framework4.5环境,第二部分介绍如何部署Asp.Net Mvc 4站点并确保Mvc4的几个重要特性都能正常工作. 一 ...

随机推荐

  1. MVVM设计模式和WPF中的实现(四)事件绑定

    MVVM设计模式和在WPF中的实现(四) 事件绑定 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中 ...

  2. Java 征途:行者的地图

    前段时间应因缘梳理了下自己的 Java 知识体系, 成文一篇望能帮到即将走进或正在 Java 世界跋涉的程序员们. 第一张,基础图 大约在 2003 年我开始知道 Java 的(当时还在用 Delph ...

  3. HTML5 localStorage本地存储

    介绍 localStorage(本地存储)的使用方式.包括对存储对象的添加.修改.删除.事件触发等操作. 目录 1. 介绍 1.1 说明 1.2 特点 1.3 浏览器最小版本支持 1.4 适合场景 2 ...

  4. Node.js:理解stream

    Stream在node.js中是一个抽象的接口,基于EventEmitter,也是一种Buffer的高级封装,用来处理流数据.流模块便是提供各种API让我们可以很简单的使用Stream. 流分为四种类 ...

  5. [.NET] C# 知识回顾 - Event 事件

    C# 知识回顾 - Event 事件 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6060297.html 序 昨天,通过<C# 知识回顾 - ...

  6. iOS开发之Alamofire源码深度解析

    今天博客中的Alamofire源码的版本是以现在最新的3.4版本为例.上篇博客系统的对NSURLSession相关的东西进行了详细的解析,详情请看<详解NSURLSession>,为了就是 ...

  7. 计算机程序的思维逻辑 (60) - 随机读写文件及其应用 - 实现一个简单的KV数据库

    57节介绍了字节流, 58节介绍了字符流,它们都是以流的方式读写文件,流的方式有几个限制: 要么读,要么写,不能同时读和写 不能随机读写,只能从头读到尾,且不能重复读,虽然通过缓冲可以实现部分重读,但 ...

  8. 挑子学习笔记:特征选择——基于假设检验的Filter方法

    转载请标明出处: http://www.cnblogs.com/tiaozistudy/p/hypothesis_testing_based_feature_selection.html Filter ...

  9. %iowait和CPU使用率的正确认知

    resources 理解 %IOWAIT (%WIO) LINUX系统的CPU使用率和LOAD Linux Performance Observability Tools How Linux CPU ...

  10. TCP/IP基础

    TCP/IP 是用于因特网 (Internet) 的通信协议. 计算机通信协议是对那些计算机必须遵守以便彼此通信的规则的描述. 什么是 TCP/IP? TCP/IP 是供已连接因特网的计算机进行通信的 ...