CentOS 7 上部署Mono 4 和Jexus 5.6

时间:2022-04-23
本文章向大家介绍CentOS 7 上部署Mono 4 和Jexus 5.6,主要内容包括概述、安装Mono 4、通过Yum包安装Mono、安装Jexus 5.6、运行一个asp.net mvc 4 程序、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

概述

在这篇文章中我们将讨论如何在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/ , 可以看到熟悉的页面: