概述
在這篇文章中我們將討論如何在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
參考官方文檔:Install Mono on Linux:
Mono包并沒有包含在CentOS的倉庫里,我們需要把Mono的倉庫導入到包倉庫里,在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-config-manager ,這個是因為系統默認沒有安裝這個命令,這個命令在yum-utils 包里,可以通過命令yum -y install yum-utils 安裝。
[root@Mono ~]# yum -y install yum-utils
[root@Mono ~]# 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 確認已經成功安裝
[root@Mono ~]# 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寫的 Centos、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/ , 可以看到熟悉的頁面:
文章列表