红联Linux门户
Linux帮助

CentOS 7上部署Mono 4和Jexus 5.6

发布时间:2015-05-17 21:52:41来源:linux网站作者:shanyou

概述

在这篇文章中我们将讨论如何在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镜像》:http://blogs.msdn.com/b/azchina/archive/2013/01/18/deploying-openlogic-centos-images-on-windows-azure-virtual-machines.aspx。


Yum 包安装

CentOS 有一个Yum软件包管理,这极大地简化了安装 CentOS 的程序。只要你不需要最新的更新的软件程序包,通过Yum软件包管理是最简单,特别是对于新手 Linux/CentOS 用户的方法。


通过Yum包安装Mono

参考官方文档:Install Mono on Linux:http://www.mono-project.com/docs/getting-started/install/linux/

CentOS 7上部署Mono 4和Jexus 5.6

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 安装所有的软件包

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/ , 可以看到熟悉的页面:

CentOS 7上部署Mono 4和Jexus 5.6


Ubuntu 15.04和CentOS 7部署.NET,Mono and DNX:http://www.linuxdiyf.com/linux/12013.html

CentOS 7安装Mono和MonoDevelop:http://www.linuxdiyf.com/linux/10211.html