本文最后更新于:2015-05-21 14:00:00
原文:http://www.yaosansi.com/post/mono4.0.1-jexus5.6-on-centos7
鉴于微软最近对.Net家族的大开源策略,最近有时间正好测试一下Mono4与Jexus5.6在CentOS7上安装与使用。
Mono简介
Mono是一个由Novell公司(由Ximian发起,并由Miguel de lcaza
领导的,一个致力于开创.NET在Linux上使用的开源工程。它包含了一个C#语言的编译器,一个CLR的运行时,和一组类库,并实现了 ADO NET和ASP NET。能够使得开发人员在Linux用C#开发程序。)
目前最新版本为:Mono 4.0.1,由于.Net的开源,Mono4.0是首个包含来自微软开源 .Net 代码的版本,也是第一个缺省启用 Csharp 6.0 的 Mono 版本
同时还做了以下改进:
- 采用微软的开源代码
- 支持 C# 6.0
- 优化浮点数
- 不再支持 2.0、3.5 和 4.0 汇编器
- 更新 IKVM
- 更轻量级的调试器开销
- 提供最基本的 PowerPC64 LE 支持
Mono 4.0.1 只是在4.0基础上进行一些BUG修复和功能改进。
Jexus简介
Jexus 即 Jexus Web Server,简称JWS,是Linux平台上 的一款ASP.NET WEB服务器,
是ASP.NET跨平台部署的一种可选方案,作者宇内流云
是想给大家提供一个强劲、坚固、免费、易用的Linux ASP.NET服务器。
与其它WEB服务器相比,Jexus不但具有跨平台ASP.NET服务器这样的标志性特征,同时还拥有内核级的安全监控、入侵检测、URL重写、无文件路由等一系列重要功能和专有特性。
目前Jexus最新版本为5.6.4正式版。
安装Mono和Jexus
##安装Mono
在Shell root 用户权限下输入下列命令:
1 | rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF" |
如果提示找不到yum-config-manager
博客园的张善友老师已经给出了解决方案
因为系统默认没有安装这个命令,这个命令在yum-utils
包里,可以通过命令yum -y install yum-utils
安装
1 | yum -y install yum-utils |
引入测试版本可以使用如下命令:1
yum-config-manager --add-repo http://download.mono-project.com/repo/centos-alpha/
安装有以下几个选择:
- mono-devel 安装编译版本
- mono-completepv 安装所有软件包,这可以解决大多数情况下的”程序集未找到”错误。
- referenceassemblies-pcl 安装支持PCL编译的版本。
- ca-certificates-mono 如果需要HTTPS连接和SSL证书,请使用版本。
我们安装所有软件包
1 | yum –y install mono-complete |
安装成功后使用mono –V 确认已经成功安装1
2
3
4
5
6
7
8
9
10
11[root@yaosansi]# mono -V
Mono JIT compiler version 4.0.1 (tarball Wed May 20 12:03:20 CST 2015)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS: __thread
SIGSEGV: altstack
Notifications: epoll
Architecture: x86
Disabled: none
Misc: softdebug
LLVM: supported, not enabled.
GC: sgen
如果安装一切正常,但输入 mono -V
时提示 -bash: mono: command not found
, 可以使用如下命令测试:1
[root@yaosansi ]# /opt/mono/bin/mono -V
并参考本文中的设置Mono环境变量
一节。
##安装Jexus
###下载
下载地址是:http://www.linuxdot.net/down/jexus-5.6.4.tar.gz
1 | wget http://www.linuxdot.net/down/jexus-5.6.4.tar.gz |
###解压
1 | tar -zxvf jexus-5.0.tar.gz |
安装
1 | cd jexus-5.6.4 |
确认安装成功
默认Jexus是绑定0.0.0.0的ip,所以可以通过服务器的ip来访问。(如果无法访问请确认是否由于其它程序占用了默认的80端口)
1 | http://192.168.8.2 |
Jexus也提供了一个info地址,用来检测服务器状态和运行时间1
http://192.168.8.2/info
Welcome to Jexus!
Jexus web server uptime: 0 days, 0:44:16
升级安装
启动、停止和重启
启动 /usr/jexus/jws start
停止 /usr/jexus/jws stop
重启 /usr/jexus/jws restart
通过一键安装脚本
Jexus官方论坛网友(Simple)提供
CentOS6版本
默认版本(宇内推荐的):http://security.ivannet.com/linux/shell/centos6.x_mono_jexus_default.sh
OPT版本(喜欢把mono装在/opt/目录下的):http://security.ivannet.com/linux/shell/centos6.x_mono_jexus_opt.sh
CentOS7版本
- 默认版本(宇内推荐的):http://security.ivannet.com/linux/shell/centos7.x_mono_jexus_default.sh
- OPT版本(喜欢把mono装在/opt/目录下的): http://security.ivannet.com/linux/shell/centos7.x_mono_jexus_opt.sh
一键安装步骤
执行以下命令,输入对应的Mono及Jexus完整版本即可。脚本将正动从官方下载、编译和安装,需要耐心等待一段时间。
1 | cd /tmp |
比如目前Mono输入:4.0.1 Jexus输入:5.6.4
安装完成后使用上面的方法验证是否安装成功。
设置Mono环境变量
安装脚本将Mono安装到了/opt/mono/,需要将Mono的目录加入系统$PATH变量
方法一
在/etc/profile
文件中添加变量【对所有用户生效(永久的)】
1 | [root@yaosansi ~]# vi /etc/profile |
在文件末尾加上如下两行代码
1 | PATH=/opt/mono/bin:$PATH |
立即生效
1 | [root@yaosansi ~]# source /etc/profile |
方法二
在/etc/profile.d/目录下创建一个Mono的配置
创建一个新的mono.sh,并在这个文件内初始化环境变量
1 | export PATH=$PATH:/opt/mono/bin |
要是刚才的修改马上生效,需要执行以下代码
1 | [root@yaosansi profile.d]# source mono.sh |
特别感谢
感谢宇内、张善友以及其它热心网友对.Net跨平台的突出贡献。
参考
- http://www.mono-project.com/docs/about-mono/releases/4.0.0/
- http://www.mono-project.com/docs/about-mono/releases/4.0.1/
- http://www.jexus.org/
- http://baike.baidu.com/view/4562810.htm
- http://www.cnblogs.com/shanyou/p/4509980.html
- http://www.mono-project.com/docs/getting-started/install/linux/#centos-fedora-and-derivatives
- http://www.mono-project.com/docs/getting-started/mono-basics/
- http://www.linuxdot.net/bbsfile-3784
- http://security.ivannet.com/linux/shell/
- http://www.cnblogs.com/shanyou/archive/2012/10/11/2720597.html