CentOS 7 上部署Mono 4 和Jexus 5.6
概述
在這篇文章中我們將討論如何在CentOS 7作業系統,安裝 jexus、 mono 和 配置 jexus,因此它將能夠在這種環境中執行一個asp.net mvc 4 應用。這篇文章是描述如何在 Linux/Unix 環境中使用Mono執行. NET的應用程式的一部分。
安裝Mono 4
首先你需要有一個CentOS 7環境,可以使用DVD光碟在本地安裝也可以通過阿里雲、騰訊雲或者Windows Azure上裝一個,本文是在Windows Azure環境上部署的CentOS 7,具體可以參考《如何在Windows Azure虛擬機器上部署OpenLogic CentOS映象》。
Yum 包安裝
CentOS 有一個Yum軟體包管理,這極大地簡化了安裝 CentOS 的程式。只要你不需要最新的更新的軟體程式包,通過Yum軟體包管理是最簡單,特別是對於新手 Linux/CentOS 使用者的方法。
通過Yum包安裝Mono
Mono包並沒有包含在CentOS的倉庫裡,我們需要把Mono的倉庫匯入到包倉庫裡,在root 使用者許可權下執行下面命令:
rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
有可能提示找不到yum-config-manager ,這個是因為系統預設沒有安裝這個命令,這個命令在yum-utils 包裡,可以通過命令yum -y install yum-utils
[[email protected] ~]# yum -y install yum-utils
[[email protected] ~]# rpm -qa | grep yum
yum-utils-1.1.31-25.el7_0.noarch
yum-3.4.3-118.el7.centos.noarch
yum-metadata-parser-1.1.4-10.el7.x86_64
yum-plugin-fastestmirror-1.1.31-25.el7_0.noarch
然後執行
yum –y install mono-complete.x86_64 安裝所有的軟體包
mono-core.x86_64 0:4.0.1-4 mono-data.x86_64 0:4.0.1-4
mono-data-oracle.x86_64 0:4.0.1-4 mono-data-sqlite.x86_64 0:4.0.1-4
mono-devel.x86_64 0:4.0.1-4 mono-extras.x86_64 0:4.0.1-4
mono-locale-extras.x86_64 0:4.0.1-4 mono-mvc.x86_64 0:4.0.1-4
mono-nunit.x86_64 0:4.0.1-4 mono-reactive.x86_64 0:4.0.1-4
mono-wcf.x86_64 0:4.0.1-4 mono-web.x86_64 0:4.0.1-4
mono-winforms.x86_64 0:4.0.1-4 mono-winfxcore.x86_64 0:4.0.1-4
monodoc-core.x86_64 0:4.0.1-4
執行mono –V 確認已經成功安裝
[[email protected] ~]# mono -V
Mono JIT compiler version 4.0.1 (tarball Tue May 12 16:19:40 BST 2015)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS: __thread
SIGSEGV: altstack
Notifications: epoll
Architecture: amd64
Disabled: none
Misc: softdebug
LLVM: supported, not enabled.
GC: sgen
安裝Jexus 5.6
Jexus 5.3.1版本開始,Jexus的安裝過程簡化了,內建了兩個新的指令碼,它們分別是"install"和"upgrade",對應原來的"安裝"和"升級",將Jexus的安裝過程自動化了。jexus本身的安裝和升級方式並沒有發生更多的變化,因此對於已經習慣於5.3.1之前版本的使用方式的使用者,你們仍然可以採用之前的安裝方式。
wget linuxdot.net/down/jexus-5.6.4.tar.gz
tar -zxvf jexus-5.6.4.tar.gz
cd jexus-5.6.4
./install
安裝完成~!!!(上面的安裝過程也可以使用這個命令完成 curl jexus.org/5.6.x/install | sh )在執行install指令碼時,jexus預設是安裝到/usr/jexus/中,如果想安裝到其他目錄,可以在執行該指令碼時增加一個目錄的引數(比如 sudu install /usr/local/jexus/)。對於升級就是執行upgrade指令碼。
啟動jexus 檢查是否正常了
啟動 /usr/jexus/jws start
停止 /usr/jexus/jws stop
重啟 /usr/jexus/jws restart
新增為系統服務,隨系統啟動
Zendic寫的、Ubuntu 安裝 Mono、Jexus,其中有把Jexus新增為系統服務的程式碼:
cd /etc/init.d/
vi jws
按i編輯模式,貼上下面內容
#!/bin/bash
#chkconfig: 2345 80 05
#description:jws
#
. /etc/rc.d/init.d/functions
case "$1" in
start)
echo "Jexus Start.."
/usr/jexus/jws start
;;
stop)
echo "Jexus Stop.."
/usr/jexus/jws stop
;;
restart)
echo "Jexus Restart"
/usr/jexus/jws restart
;;
status)
/usr/jexus/jws status
;;
*)
exit 1
;;
esac
exit $RETVAL
按ESC後,輸入:wq儲存檔案
把這個指令碼作為"服務"加入
chmod 766 jws
chkconfig --add jws
至此,JEXUS已跟隨系統啟動,可以reboot一下試試看
你也可以通過修改 /usr/jexus/siteconf 裡面的檔案,來修改站點配置。
執行一個asp.net mvc 4 程式
使用Visual Studio 新建一個asp.net mvc 4 程式,把它釋出到jexus伺服器,記得不要把 Microsoft.Web.Infrastructure.dll 也拷進去,這是一個和IIS 有強依賴關係的程式集,我們現在訪問 http://mono.cloudapp.net/ , 可以看到熟悉的頁面: