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
一、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大本营中发帖提问
二、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/ 即可
三、自己动手组装一个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群中提出,我会尽可能的逐一进行解答,希望对各位读者的学习带来帮助。