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
参考官方文档: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 安装所有的软件包
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/ , 可以看到熟悉的页面: