专栏首页张善友的专栏32和64位的CentOS 6.0下 安装 Mono 2.10.8 和Jexus 5.0

32和64位的CentOS 6.0下 安装 Mono 2.10.8 和Jexus 5.0

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

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

Mono 2.10.8 于已发布2011年12月19 发布,Jexus 5.0 最新版本是RC3 正式版本即将发布,带来很多新特性。Jexus web server for linux 是一款基于.NET兼容环境,运行于Linux/unix操作系统之上,以支持ASP.NET为核心功能的高性能WEB服务器。

Jexus V5.0有如下功能特点: 01、支持ASP.NET。这是Jexus的核心功能。不管是稳定性、易用性还是并发承载能力、并行处理速度,Jexus对ASP.NET的支持都是非常优秀的; 02、支持PHP。Jexus自带Fast-CGI管理模块,能通过fcgi和php-fpm两种方式对php进行良好的支持; 03、具备基于正则表达式的强大的URL重写功能; 04、具有强劲的反向代理功能。支持多目标负载均衡,支持本地网站与远程网站无缝整合; 05、拥有强大的流媒体支持能力,支持FLV/F4V视频文件拖动播放,支持微软平滑流媒体技术; 06、支持“服务器推送”技术,配备了相应的服务器端、客户端开发接口,是开发现代WEB应用的利器; 07、具备可控的“ASP.NET前置缓存”,能最大限度地提高ASP.NET网站的承载能力和响应速度; 08、支持Https,具有SSL加密数据安全传输能力; 09、具有基础而实用的入侵检测功能,能自动终止已被识别的非法请求; 10、安装部署非常简便,操作使用极为简单。

一、 更新系统  

yum –y update

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

yum -y install gcc gcc-c++ bison pkgconfig glib2-devel gettext make libpng-devel libjpeg-devel libtiff-devel libexif-devel giflib-devel libX11-devel freetype-devel fontconfig-devel  cairo-devel

三、安装Mono需要的GDI+兼容API的库Libgdiplus

cd /usr/local/src/
wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.tar.bz2
tar -jxvf libgdiplus-2.10.tar.bz2
cd libgdiplus-2.10
./configure --prefix=/usr
make
make install

四、安装 mono

cd /usr/local/src/
wget http://download.mono-project.com/sources/mono/mono-2.10.8.tar.bz2
tar -jxvf mono-2.10.8.tar.bz2
cd mono-2.10.8
./configure --prefix=/usr
make
make install

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

如果是64位版本的CentOS,在后续安装好Jexus 5,启动的时候会发生以下错误:

Sender: jws.exe, Sender TypeName: AppDomain 
Exception Source: jws, TargetSite Name: A 
Message is: 
An exception was thrown by the type initializer for Mono.Unix.Native.Stdlib 
StackTrace is: 
  at A.G.A (System.String[] A) [0x00000] in <filename unknown>:0  
IsTerminating: True

建议你运行下命令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才行呢。

ldconfig几个需要注意的地方!

1. 往/lib和/usr/lib里面加东西,是不用修改/etc/ld.so.conf的,但是完了之后要调一下ldconfig,不然这个library会找不到

2. 想往上面两个目录以外加东西的时候,一定要修改/etc/ld.so.conf,然后再调用ldconfig,不然也会找不到

比 如安装了一个mysql到/usr/local/mysql,mysql有一大堆library在/usr/local/mysql/lib下面,这时就 需要在/etc/ld.so.conf下面加一行/usr/local/mysql/lib,保存过后ldconfig一下,新的library才能在程 序运行时被找到。

3. 如果想在这两个目录以外放lib,但是又不想在/etc/ld.so.conf中加东西(或者是没有权限加东西)。那也可以,就是export一个全局变 量LD_LIBRARY_PATH,然后运行程序的时候就会去这个目录中找library。一般来讲这只是一种临时的解决方案,在没有权限或临时需要的时 候使用。

4. ldconfig做的这些东西都与运行程序时有关,跟编译时一点关系都没有。编译的时候还是该加-L就得加,不要混淆了。

5. 总之,就是不管做了什么关于library的变动后,最好都ldconfig一下,不然会出现一些意想不到的结果。不会花太多的时间,但是会省很多的事

五、安装Jexus 5.0

1、下载: 下载地址是:http://www.linuxdot.net/down/jexus-5.0.1.tar.gz

wget http://www.linuxdot.net/down/jexus-5.0.1.tar.gz

2、解压: tar -zxvf jexus-5.0.tar.gz

3、安装:    Jexus安装非常简单,仅仅就是一个复制、粘帖和注册全局程序集的过程    注意:以下所有操作请用root身份。

A、升级安装:

   1) 转到原安装jws的文件夹,如:cd /usr/jexus/    2) 停止旧版jexus的运行:       sudo /usr/jexus/  jws.stop    2) 删除旧版:       sudo rm *.exe       sudo rm *.dll    3) 将解压文件夹中的下列文件复制到原来安装jexus的文件夹:       jws.exe       jwsHttpd.exe       jxAspx.dll       jxHost.dll       jws.regsvr       jws.start       jws.restart       jws.stop    4) 将 jws.regsvr、jws.start、jws.restart、jws.stop 设为可执行    5) 注册全局程序集(*非常重要*)       进入安装jexus目标文件夹,然后运行:       sudo ./jws.regsvr

B、全新安装:    1) 建立jexus安装文件夹(一般为/etc/jws/),我安装到/usr/jexus/ :       sudo mkdir /usr/jexus/

   2) 把解压所得到的文件及文件夹全部复制或移动到 /etc/jws 这个文件夹中       如: sudo mv * /usr/jexus/

   3) 将 jws.regsvr、jws.start、jws.restart、jws.stop 设为可执行    4) 注册全局程序集(*非常重要*)       进入安装jexus目标文件夹(cd /usr/jexus/),然后运行:       sudo ./jws.regsvr

六、运行测试     复制完Jexus的文件后,Jexus就可以正常工作了。     所以,如果你的系统只要mono已经成功安装,jexus就可以直接使用,甚至连进一步的配置也完全不需要。

    如果是升级安装,你只需要用jws.start启动JWS,Jexus就可以正常工作了,如果不能正常工作,常常是新版本的配置方式可能有变,你可以查查jws.conf等配置文件。

    强调:如果你服务器安装有其它的WEB服务器,而且该服务正在运行,请停止它,以免造成端口冲突而造成Jexus无法启动。

    如果是全新安装,请首先建立一个默认的网站文件夹:/var/www/default     然后在Jexus工作文件夹(/usr/jexus/)中执行jws.start命令(需要root身份),启动jexus。     1、用cat log/jws.log,看看jws日志文件有没有什么出错的提示。     2、如果没有错误提示,请访问一下这台服务器,看看是否有jexus的欢迎页,比如访问 http://服务器IP地址/info:

    3、如果看到欢迎页了,你可以在/var/www/default/文件夹中放入网站内容或一个简单的首页文件,再次访问者,你就可以看到你自己的网站内容了。

七、配置,具体参考Jexus 自带Readme文件

让jexus能够读取中文乱码文件名 1、安装GBK等字符集: 步骤一:修改:/var/lib/locales/supported.d/local文件,添加一行,内容是“zh_CN GBK”。(当然,还可以加上“zh_CN GB18030”等); 步骤二:运行命令  sudo locale-gen 2、在jws.start和jws.restart两个文件中,添加一个环境变量:“export  ONO_EXTERNAL_ENCODINGS="gbk:gb18030"” 注:以上方法适用于jexus 5.2

参考:

伺服器安裝第一首選 CentOS 6帶來寧靜革命

推荐一个在Linux/Unix上架设ASP.NET的 WEB服务器—Jexus

安装mono、Jexus的要点

安装Mono 2.10 CentOS的使用yum

Deploying to Mono

Developing and Deploying ASP.NET MVC Applications On Ubuntu Linux with Mono, nginx and MySQL

Centos 6.x编译安装mono搭建 ASP.NET Mvc3环境 

 在Debian上安装LNMP+Mono运行asp.net程序

CentOS 6.2+Mono 2.10.8+jexus 5.0.2+asp.net mvc3 安装部署备忘

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Centos 7.0 安装Mono 3.4 和 Jexus 5.6

    2013-07-26 写过一篇《CentOS 6.3下 安装 Mono 3.2 和Jexus 5.4》,CentOS 7在CentOS 6的基础上有很大的调整,...

    张善友
  • 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 ...

    张善友
  • 在CentOS上使用Jexus托管运行 ZKEACMS

    ZKEACMS Core 是基于 .net core 开发的,可以在 windows, linux, mac 上跨平台运行,接下来我们来看看如何在 CentOS...

    张善友
  • c++_std-numeric_limits极值接口

    在C/C++11中,std::numeric_limits为模板类,在库编译平台提供基础算术类型的极值等属性信息。

    上善若水.夏
  • 腾讯云移动安全服务购买优惠--腾讯云优惠

    腾讯云应用加固的购买目前分为基础版、专业版、企业版三种类型,每一个版本的功能与参考价格如下表所示:

    用户5899228
  • 七大理由告诉你 为什么别人赚的钱比你多?

    很多人都有爱攀比的习惯,看到别人生活水平高,或是别人买了什么好东西,总是会忍不住默默地在心里比较一番。如果是自己胜出,那倒还好,他顶多也就是心里不以为意,嘴上还...

    华章科技
  • BZOJ3668: [Noi2014]起床困难综合症(贪心 二进制)

    21 世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳。作为一名青春阳光好少年,atm 一直坚持与起床困难综合症作斗争。通过研...

    attack
  • Docker初探(一)-有关docker的介绍和简单使用

    先分享一下构建好的image(源码部署的Nginx)    https://hub.docker.com/r/xxbandy123/centos/ 本地do...

    BGBiao
  • 【Pre-Training】ELMo:ELMO wants to play!

    今天学习的是 AllenNLP 和华盛顿大学 2018 年的论文《Deep contextualized word representations》,是 NAA...

    阿泽 Crz
  • 适合特定场景。从功能上说,数组或者链表都可以替代栈,但是,因为特定的数据结构是对特定场景的抽象,而且数组或者链表暴露了太多的操作接口,操作上确实灵活自由,但是,...

    Vincent-yuan

扫码关注云+社区

领取腾讯云代金券