已经迁到自己的博客,有兴趣的读者请移步到(http://jhonge.net),谢谢各位支持。

绿色版的Linux.NET——“Jws.Mono”

Linux.NET环境的搭建,不仅是一项比较耗时的事情,同时也是一项略显复杂繁琐的事情。特别是对于近期的几个Mono版本,由于官方所提供的源码包中出现代码文件的缺失,这总让我们的付出变得徒劳。另外一方面,由于Linux.NET的环境搭建涉及到比较多Linux的操作知识,这无疑增加了它的学习使用成本,提高了学习的门槛,这也令不少习惯于Windows中开发ASP.NET的开发者对其望而生畏。

降低Linux.NET的学习难度,需要从环境部署开始着手,为此,Jexus的作者宇内给我们制作了一款绿色版的Linux.NET环境包,当中提供了Jexus Web Server以及Linux.NET的运行环境,带来了解压即可用,删除即卸载便利,同时还降低了Linux,NET初学者的学习门槛。

马上进入本文的主题,本文主要讲述:

  1、jws.mono的简介

  2、jws.mono的使用方法

  3、自己动手组装一个jws.mono


1、jws.mono的简介

jws.mono(暂定名)是针对Linux.NET Web诞生的一个绿色的环境包,当中包含了Jexus Web Server、.NET的编译器、运行时以及相关常用的类库。

目前提供的版本以及下载地址如下:

  (1)、供64位CentOS 6.x使用的jwsmono-centos6-x64

     其下载地址可点击:百度云高速下载(高速、推荐)

  (2)、供64位Ununtu 11+ 使用的jwsmono-ubuntu-x64

     其下载地址可点击:百度云高速下载(高速、推荐)

更多发行版本以及操作系统位数的包在制作后会继续发放。

同时关于jws.mono的正式名也欢迎各位读者留言献名(主要体现便捷快速部署且绿色干净)。

如遇无法下载或有任何疑问可加入Linux.NET群(102732979)或到linuxdotnet大本营中发帖提问

 

2、jws.mono的使用方法

 jws.mono的使用方法比较简单,包中也有相应详细的说明文档,参照文档即可完成部署。

而CentOS和Ubuntu两种环境报的使用方法完全一致,因此在这里我抽取其中一种来进行简略的讲解。

部署的方式主要通过以下三步(此处随机抽取Ubuntu来作为范例):

第一步:上传并解压软件包

tar zxf jwsmono-ubuntu-x64.tar.gz

第二步:把jws.mono目录移动到根目录中

mv jws.mono /

第三步:启动jws

/jws.mono/jexus/jws start

即可完成环境包的部署,非常便捷。

检查80端口以及info

80端口已被监听,info页面也访问正常,部署完成。

jws.mono的卸载也很简单,只需:

/jws.mono/jexus/jws stop

rm -rf /jws.mono/ 即可

 

3、自己动手组装一个jws.mono

绿色版的环境包固然不错,又方便又干净,但是,毕竟它的“原材料”来自于编译所生成的各类型文件,而Linux与Windows明显不同的一个特点就是发行版本众多,并且源码编译过程中受系统的软硬件各方面的因素影响较大,我们所现有提供的绿色环境包可能与部分读者的系统所不兼容(现提供环境包的是针对Jexus使用的,程序集库方面有不少删减,也可能无法满足部分读者的需要【特别是需要做Winform开发的读者】),如果遇到了这种情况,我们可以考虑定制一个自己专属的绿色环境包。

本节中我们将学习如何组装出自己专属的绿色环境包。

二话不说,我们先看看我们需要些什么“工具”以及“原材料”。

做这个实验,我需要准备两台的Linux系统,第一套中包含由源码编译得出的整套Linux.NET环境,而另外一套则是单纯的新装完系统,非常干净。

开始动手了,在这里,我说明下,本机的Linux.NET环境搭建文件路径与《Linux.NET学习手记(1)》一致,因此不知道环境安装路径的读者可以去翻翻那篇文章。

我们先在/home/中创建一个jono目录,这作为我们放“原材料”的地方

 mkdir /home/jono

然后把jexus和mono都从系统中拷贝一份到jono中

 cp -r /usr/local/jexus/ /home/jono/

 cp -r /usr/local/mono/ /home/jono/

把jono打包,并从Linux中取出到Windows中(打包只为传输更快)

 tar czf /home/jono.tar.gz /home/jono

回到Windows中并把jono.tar.gz解压。

里面包含了两个文件夹,分别是mono和jexus。mono文件夹中包含了全套的Linux.NET库以及Runtime,如果各位读者想对软件包进行定制瘦身,可以从这里入手进行修改,在本文中,我们制作的是“完全版”,提供了全部的库文件,因此就不管这个目录。而jexus文件夹,顾名思义,就是Jexus Web Server的安装目录。

我们进入到jexus中,并用编辑器打开jws文件

如图所示,我们主要修改两个变量参数的值,在每个参数后面分别加上“:/jono/mono/bin”和“/jono/mono/lib”,然后保存退出(这里假设我们的绿色包将放在根目录下)。

重新把jono打包并传输第二台Linux中(干净那台)

进入第二台Linux,把jono.zip解包

 unzip jono.zip

 mv ./jono/ /

给jws文件赋予执行权限

 chmod a+x /jono/jexus/jws

给mono/bin赋予执行权限

 chmod a+x -R /jono/mono/bin/

至此,我们自己组装的绿色包基本成型,我们测试绿色包能否正常运作

打开jexus服务器,并查看监听、info页面

 /jono/jexus/jws start

 netstat -an | grep :80 

 

80端口监听正常

info页面正常

证明,我们制作的绿色包已经成功,我们可以将其打包并发布出来。

 /jono/jexus/jws stop

 tar czf /jono.tar.gz /jono

这里顺带一提,因为我们制作的是完整版的环境包,因此不单止可以提供给Jexus运作,同样可以提供给其他.NET程序运作,我们执行执行:

 echo "/jono/mono/lib" > /etc/ld.so.conf.d/mono.conf

 ldconfig

 echo  PATH=/jono/mono/bin:$PATH>>~/.bash_profile

 source ~/.bash_profile

将mono的bin以及路径加入系统环境变量中,即可达到与编译搭建的环境一样效果。

 

 (图中出现了几个提示不是符号连接,有兴趣的读者可以它改回符号连接)


至此,本篇内容至此结束,如有疑问或者异议,可在本文中留言或到Linux.NET群中提出,我会尽可能的逐一进行解答,希望对各位读者的学习带来帮助。

 

posted @ 2014-05-11 01:07  小蝶惊鸿  阅读(5799)  评论(37编辑  收藏  举报