一、關於 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 命令更新系統。
build-essential (或gcc和gcc-c++)
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



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

安裝autoconf







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作者宇內流雲對吾小白的耐心指導。