2013-07-26 写过一篇《CentOS 6.3下 安装 Mono 3.2 和Jexus 5.4》,CentOS 7在CentOS 6的基础上有很大的调整,本文是这篇文章的更新,主要介绍CentOS 7下安装Mono 3.4 和 Jexus 5.6。

CentOS是一个基于RHEL的Linux发行版,其目的是为了提供一套免费与自由的企业等级Linux发行版。CentOS的名称来自于「Community ENTerprise Operating System」,从名称便可以知道这是一套由社区主导、并以企业级用户为主要目标的操作系统。

目前CentOS是网页服务器用途的主机中最广为使用的一套Linux发行版。根据统计,目前大约有30%的Linux服务器使用CentOS。许多书籍、网站在介绍Linux的操作方式时,也会援引CentOS作为操作接口。通常CentOS都会在RHEL推出新版本之后,经过一小段时间的修改与测试之后再推出新的版本,而其版本编号大多也会跟随RHEL的版本编号,例如目前最新版本的CentOS 7,其相对应的RHEL版本便是RHEL 7。

CentOS 7 有很多新特性:

  • 包含 Kernel 3.10 版本,支持 swap 内存压缩可保证显著减少 I/O 并 提高性能,采用 NUMA (统一内存访问) 的调度和内存分配,支持 APIC (高级程序中断控制器) 虚拟化,全面的 DynTick 支持,将内核模块列入 黑名单,kpatch 动态内核补丁 (技术预览) 等等
  • 引进网络分组技术作为链路聚集的捆绑备用方法,对 NetworkManager 进行大量改进,提供动态防火墙守护进程 firewalld,加入 DNSSEC 域名系统安全扩展,附带 OpenLMI 用来管理 Linux 系统提供常用的基础 设施,引进了可信网络连接功能 (技术预览)等。
  • 引入 Linux 容器 Docker
  • 编译工具链方面,包含 GCC 4.8.x、glibc 2.17、GDB 7.6.1。
  • MariaDB 5.5、PostgreSQL 9.2
  • 在系统和服务上,使用 systemd 替换了 SysV
  • 引入 Pacemaker 集群管理器,同时使用 keepalived 和 HAProxy

Jexus web server for linux 是一款基于.NET兼容环境,运行于Linux/unix操作系统之上,以支持ASP.NET为核心功能的高性能WEB服务器,用于替换Apache+mod_mono、Nginx+FastCgi 方案运行ASP.NET,最新的5.6版本已经支持OWIN协议。Jexus不但具有跨平台ASP.NET服务器这样的标志性特征,同时还拥有内核级的安全监控、入侵检测、URL重写、无文件路由等一系列重要功能和专有特性。

Mono Xsp 和Jexus有什么区别呢:

  1. 速度方面: 对于ASP.NET网页,大压力访问时Jexus处理速度更快; 对于静态文件,Jexus远快于XSP,而且对磁盘的要求和影响小N倍;
  2. 功能方面:   XSP是以ASP.NET测试工作开发的,功能单调,而Jexus是作为生产环境使用的真实的WEB服务开发的,功能全面,因此,xsp与Jexus在功能上没有可比性
  3. 稳定性方面: Jexus有良好的容错和自动纠错能力,可以长期不间断运行,而XSP是单进程程序,没有任何自动纠错机制,无法保持不间断运行。
  4. 安全性方面: Jexus有关键的入侵检测功能,XSP没有任何安全检测功能,没有可比性;
  5. 多站点支持: XSP支持一站,Jexus支持任意多网站。

Jexus for linux 有如下特点:

  1. 支持多种操作系统:Jexus最初的设计目标是“跨平台的ASP.NET WEB服务器”,由于在Windows系统上,IIS已经是ASP.NET的优秀平台,所以,当前的Jexus以支持Linux和FreeBSD等非Windows系统为主要设计目标。正因为这个原因,就Linux/FreeBSD等平台的ASP.NET建设而言,Jexus具有特别重大的意义。
  2. 高性能:“高性能”是Jexus的重要的设计目标。虽然Jexus基于Mono环境运行,但Jexus并非全部由Mono的.NET组件构成,对于涉及性能的关键代码,Jexus非常巧妙地大量采用了Linux/Unix本身的优秀特性,从代码层保证了Jexus的性能优势。
    同时,Jexus的框架特征也为高性能提供了基础保证。Jexus不象XSP那样,纯HTML也需要经过ASP.NET处理,更不象Apache和Nginx等服务器,需要通过插件的形式间接地对ASP.NET进行支持,Jexus把HMTL静态文件处理模块、ASP.NET处理模块、静态文件高速缓存机制、epoll/poll数据传输机制等进行了高度集成,从架构本身入手,最大限度地提高WEB服务器的处理能力和传输速度。
  3. 安全性:Jexus内核含有安全监控机制,绝大多数恶意访问在进入网站前就会被Jexus直接禁止,这是Jexus有别于其它WEB服务器的又一大特色,所以,Jexus特别适合那些对安全要求较高的企业网站或政府网站使用。
  4. 稳定性:从运行机制而言,Jexus系统中,有专门检测工作进程执行状态的管理单元,任何一个进程退出或者任何一个ASP.NET网站应用程序域退出,被会被管理单元发现并得到重启,从而保证了Jexus能够7*24小时不间断工作;从程序本身而言,Jexus程序代码力求简洁,BUG很少,同时,Jexus的每个版本在正式发布之前,都要经过严格的压力测试,影响稳定性的因素,几乎在正式发布之前即已被全部排除。
  5. 功能强大:Jexus支持URL重写,支持多目标服务器的反向代理,支持PHP,支持GZIP压缩传输,并且,可以利用不同端口、不同虚拟路径、不同域名设置任意数量的网站,这些功能要素,表明了Jexus是一款功能完整而强劲的WEB服务器。
  6. 安装、配置、操作极为简单,服务社区化,各种问题能得到快速的处理,有良好的后续服务支撑能力。

一、更新系统,安装编译环境,为编译Mono源码做准备。

1、 更新系统

yum –y update

2、安装Mono源码安装需要的库

yum -y install wget glib2-devel libtiff libtiff-devel libjpeg libjpeg-devel giflib giflib-devel libpng libpng-devel libX11 libX11-devel freetype freetype-devel fontconfig fontconfig-devel libexif libexif-devel gcc-c++ gettext unzip zip bzip2 bzip2-devel curl-devel gtk2-devel boost-devel

  • 3、安装Mono需要的GDI+兼容API的库Libgdiplus
  • git clone git://github.com/mono/libgdiplus.git
  • cd libgdiplus
  • ./autogen.sh --prefix=/usr
  • make
  • make install
  • 二、源码安装Mono 3.4
  • 3.4这个版本官方的源码包,少了一些文件,以至于安装会出现问题,具体可以参考 mono-3.4.0 源码安装时出现的问题 [do-install] Error 2 [install-pcl-targets] Error 1 解决方法
  • 下载后上传到/usr/local/src
  • tar -zxvf mono-3.4.0.tar.gz

    ./configure --prefix=/usr --libdir=/usr/lib64

    这里加上--libdir=/usr/lib64 ,主要是P/Invoke ,具体参考 MONO x64 amd_x64

  • make

    make install

  • 输入 mono -V 如有mono版本信息,则安装成功.

  • 如果是64位版本的CentOS,建议你运行下命令ldconfig,建议大家在安装mono后,都 ldconfig一下 。(ldconfig命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默认为/etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表. )

    另外有一点也非常重要,要在编译Mono的是指定安装到/usr(./configure --prefix=/usr),如果安装到一个系统根本"不了解"的文件夹,仅ldconfig都不行,还要在/etc/ld.so.conf文件或/etc/ld.so.conf.d 中添加路径后再 ldconfig才行呢。

    三、安装Jexus 5.5

  • 从5.3.1版本开始,Jexus的安装过程简化了,内置了两个新的脚本,它们分别是“install”和“upgrade”,对应原来的“安装”和“升级”,将Jexus的安装过程自动化了。jexus本身的安装和升级方式并没有发生更多的变化,因此对于已经习惯于5.3.1之前版本的使用方式的用户,你们仍然可以采用之前的安装方式。
  • wget linuxdot.net/down/jexus-5.6.1.tar.gz
  • tar -zxvf jexus-5.6.1.tar.gz
  • cd jexus-5.6.1
  • ./install

安装完成~!!!在执行install脚本时,jexus默认是安装到/usr/jexus/中,如果想安装到其他目录,可以在执行该脚本时增加一个目录的参数(比如 sudu install /usr/local/jexus/)。对于升级就是执行upgrade脚本。

启动jexus 检查是否正常了

启动  /usr/jexus/jws start
停止  /usr/jexus/jws stop
重启  /usr/jexus/jws restart

自此,使用 http://你的IP/info即可验证Jexus是否启动

五、添加为系统服务,随系统启动

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 里面的文件,来修改站点配置。

Centos 7.0 安装Mono 3.4 和 Jexus 5.6的更多相关文章

  1. CentOS 6.3下 安装 Mono 3.2 和Jexus 5.4

    最新更新参看: Centos 7.0 安装Mono 3.4 和 Jexus 5.6 2012年初写过一篇<32和64位的CentOS 6.0下 安装 Mono 2.10.8 和Jexus 5.0 ...

  2. CentOS 7.0安装配置Vsftp服务器

    一.配置防火墙,开启FTP服务器需要的端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop fi ...

  3. CentOS 7.0安装配置LAMP服务器(Apache+PHP+MariaDB)

    CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止fir ...

  4. CentOS 7.0安装

    CentOS 7.0安装 本次通过虚拟机的方法安装CentOS 7.0操作系统,开启虚拟机后会出现以下界面 1.选择第一项,Install CentOS 7 (安装CentOS 7),进入下面的界面 ...

  5. CentOS 7.0安装配置Vsftp服务器步骤详解

    安装Vsftp讲过最多的就是在centos6.x版本中了,这里小编看到有朋友写了一篇非常不错的CentOS 7.0安装配置Vsftp服务器教程,下面整理分享给各位. 一.配置防火墙,开启FTP服务器需 ...

  6. CentOS 7.0 安装配置LAMP服务器方法(Apache+PHP+MariaDB)(转)

    转自:http://www.jb51.net/os/188488.html 作者:佚名 字体:[增加 减小] 来源:osyunwei  准备篇: CentOS 7.0系统安装配置图解教程 http:/ ...

  7. 【转发】【linux】【ftp】CentOS 7.0安装配置Vsftp服务器

    adduser -d /var/www/android -g ftp -s /sbin/nologin ftp2 一.配置防火墙,开启FTP服务器需要的端口 CentOS 7.0默认使用的是firew ...

  8. Centos、Ubuntu 安装 Mono、Jexus

    Mono是.NET的跨平台实现 在众多关于语言的争论中,.NET一直被以不能跨平台而诟病,Mono改变了这一现状. 有人当心Mono会涉及版权啥的问题.高深的偶不懂,不过我觉得Unity3D都能用,为 ...

  9. CentOS 7 之安装Mono&MonoDevelop

    之前在园子里看过一篇文章说的是在CentOS 7上安装MonoDevelop的,一直想照着弄一遍都没有弄,今天深圳外面下暴雨,就在家里弄一下这个吧,以后也试着在Linux上面写写C#玩玩.这一试,还真 ...

随机推荐

  1. Database Replay和Consolidated Database replay

    简介 在数据库的迁移和升级场景中,我们经常会遇到一个问题:在做压力测试时,如何模拟真实的业务压力,解决这个问题的方法有很多,比如:应用方开发模拟程序或者使用压力测试工具模拟,如load runner, ...

  2. 初探Vue

    Vue.js(读音/vju:/,类似于view),是近来比较火的前端框架,但一直没有怎么具体了解.实现过,就知道个啥的MVVM啦,数据驱动啦,等这些关于Vue的虚概念. 由于最近,小生在公司中,负责开 ...

  3. dedecms 后台栏目添加图片

    前台调用栏目时需要显示图标,整理一下: 第一步:“系统->SQL命令工具” , 插入sql语句 alter table dede_arctype add typeimg varchar() 第二 ...

  4. interpreter(解释器模式)

    一.引子 其实没有什么好的例子引入解释器模式,因为它描述了如何构成一个简单的语言解释器,主要应用在使用面向对象语言开发编译器中:在实际应用中,我们可能很少碰到去构造一个语言的文法的情况. 虽然你几乎用 ...

  5. kali linux下的arp攻击

    这是我第一篇博客,写的不好请谅解 ____________________________(分割线)_______________________________ 在kali linux系统下自带工具 ...

  6. Android程序中--不能改变的事情

    有时,开发人员会对应用程序进行更改,当安装为以前版本的更新时出现令人惊讶的结果 - 快捷方式断开,小部件消失或甚至根本无法安装. 应用程序的某些部分在发布后是不可变的,您可以通过理解它们来避免意外. ...

  7. Asp.NET + SQLServer 部署注意事项

    1. 内存设置最大值(如果不设置, 会造成内存占用太大,带来性能问题) IIS 设置最大内存 sqlserver 设置最大内存

  8. BZOJ 3083: 遥远的国度 [树链剖分 DFS序 LCA]

    3083: 遥远的国度 Time Limit: 10 Sec  Memory Limit: 1280 MBSubmit: 3127  Solved: 795[Submit][Status][Discu ...

  9. Struts2框架基础

    Struts2框架基础 1.Java的框架 1.1.框架简介 在大型项目开发过程中,经常会使用到一些框架,这样做好的好处是能够提高工作效率,在java中最常用的的框架就是SSH,这其实是三个框架的简称 ...

  10. Android AppBar

    AppBar官方文档摘记 2016-6-12 本文摘自Android官方文档,为方便自己及其他开发者朋友阅读. 章节目录为"Develop > Training > Best P ...