Hello Jexus

一、关于 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-334Ecma-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作者宇内流云对吾小白的耐心指导。

  

 

 

 

posted @ 2013-07-31 12:12 海华 阅读(...) 评论(...) 编辑 收藏