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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏依乐祝

.NET Core部署中你不了解的框架依赖与独立部署

框架依赖的部署:顾名思义,依赖框架的部署 (FDD) 依赖目标系统上存在共享系统级版本的 .NET Core。 由于已存在 .NET Core,因此应用在 .N...

1472
来自专栏从零开始学 Web 前端

VMware Workstation 11 中 Ubuntu 14.04 的 VMware Tools 问题 :没有显示共享文件夹

症状:主要表现在Win7中用VM11安装的Ubuntu14.04中,安装完自带的VMware Tools之后,/mnt/hgfs 中没有前面已经设置好的共享文件...

1182
来自专栏乐沙弥的世界

OUI-18001:不支持操作系统'Windows Vista 版本6.1'

    对于Oracle 10g,Oracle已经不再提供支持以及下载服务,同时Oracle也未推出支持Windows 7上安装Oracle 10g clien...

732
来自专栏跟着阿笨一起玩NET

Asp.Net Session的三种方法及Web.Config设置

转载:http://user.gw-ec.com/login/safelog/redirectt?session=so%2f%2bSjyZURMOe54xgk%...

3692
来自专栏木子昭的博客

新年喜庆的Sublime主题Sublime3 主题安装Jetbrain系列主题推荐

Sublime3 主题安装 1. 下载Sublime text3 https://www.sublimetext.com/3 2. 为sublime安装Pack...

6218
来自专栏张善友的专栏

使用IAPIExplorer列举ASP.NET Web API

IApiExplorer是一个新的抽象层,它可以帮助获取ASP.NET Web API的结构描述。伴随该接口的还有一个默认实现——APIExplorer。 使用...

1796
来自专栏张善友的专栏

【实验手册】使用Visual Studio Code 开发.NET Core应用程序

2289
来自专栏张善友的专栏

tLinux 2.2下安装Mono 4.8

Tlinux2.2发行版基于CentOS 7.2.1511研发而成,内核版本与Tlinux2.0发行版保持完全一致,更加稳定,并保持对Tlinux2.0的完全兼...

60710
来自专栏张善友的专栏

Jexus 支持PHP的三种方式

Jexus不仅支持ASP.NET,而且能够通个自带的PHP-FCGI服务以及PHP-FPM等方式灵活支持PHP而且还可以以.NET(Phalanger)方式支持...

2139
来自专栏张善友的专栏

Jexus以.NET(Phalanger)方式支持PHP的网站

Jexus可以同时用普通方式(PHP-CGI/PHP-FPM)以及.NET(Phalanger)方式支持PHP,为了不引起混淆,用.NET方式支持PHP时,要注...

2146

扫码关注云+社区