ASP.NET跨平台实践:无需安装Mono的Jexus“独立版”
在Linux上运行ASP.NET网站或WebApi的传统步骤是,先安装libgdiplus,再安装mono,然后安装Jexus。在这个过程中,虽然安装Jexus是挺简便的一件事,但是安装mono就相对的比较费时费力了。
现在的情况不同了,为了克服安装 Mono 的繁琐,简化 ASP.NET WEB 应用在Linux操作系统上的部署过程,我们为Jexus 5.8.1制作了一款无需安装mono就能使用的“独立版”,该“独立版”支持64位的CentOS 6.5、Ubuntu 12.04以上版本的操作系统,能运行WebForm、Mvc3-5、WebService 以及WebApi,支持PHP,支持OWIN,支持反向代理,也就是说,无需安装mono的“独立版”与需要安装mono的“通用版”在功能上是完全相同的。
下面具体谈谈Jexus“独立版”的使用。
一,下载:
把 jexus压缩包下载到linux临时文件夹中。
cd /tmp
wget linuxdot.net/down/jexus-5.8.1-x64.tar.gz
该命令执行完成后,jexus独立版就被下载到了/tmp文件夹,大小为13.8m。
二,解压:
tar -zxvf jexus-5.8.1-x64.tar.gz
解压完成后,会在/tmp中得到一个jexus文件夹。
三,移动:
把jexus文件夹移动或复制到一个指定的工作位置,这个位置你自己决定,建议大家统一使用/usr路径。
sudo mv jexus /usr
然后清理/tmp中的jexus:
sudo rm -rf /tmp/jexus*
四,建一个简单的aspx网页用于测试:
由于jexus的默认的网站配置文件指向的物理路径是/var/www/default,所以,我们在/var下创建www文件夹,在www下创建default文件夹。创建完成后,进入 default文件夹,用vim编写一个简单的 index.aspx,仅如下两句:
1
2
|
<%@Page Language= "C#" %> <%=DateTime.Now.ToString()%> |
保存后退出。
五,启动jexus并尝试访问默认网站:
cd /usr/jexus
sudo ./jws start
curl localhost
六,Jexus的“卸载”:
Jexus是“绿色软件”,除了jexus文件夹外,它不会在系统的其它地方写入任何文件,也不会注册任意信息,所以,它的卸载很简单:删除 jexus文件夹就行了。
七,Jexus的常用命令:
启动:sudo ./jws start
重启:sudo ./jws restart
停止:sudo ./jws stop
启动某个网站: sudo start 网站名
重启某个网站:sudo restart 网站名
停止某个网站:sudo stop 网站名
八、其它:
一)关于https:
https需要libssl的支持。处理方法是安装libssl(如果系统中已经存在就不需要安装,可以用 “sudo find / -name libssl.so.*” 查找),然后软连接到jexus/runtime/lib/libssl.so,如:ln -s /lib/x86_64-linux-gnu/libssl.so.1.0.0 /usr/jexus/runtime/lib/libssl.so
二)关于图形处理:
mono的 System.Drawing类库需要 libgdiplus.so 的支持。jexus独立版的runitme/lib文件夹下,已经有一个 libgdiplus.so,但并没有附带libgdiplus.so本身所需要的依赖库,需要另行安装,方法是,用 ldd libgdiplus.so 查看依赖缺失情况,然后安装它们,完成后,重启jexus。
另外的方法是,你可以单独安装libgdiplus(参照 www.linuxdot.net或博客园中张善友、小蝶惊鸿等高人的有关安装mono的文章),安装完成后,软连接到 jexus的runtime/lib中,连接名是libgdiplus.so,如:ln -s /usr/lib/libgdiplus.so /usr/jexus/runtime/lib/libgdiplus.so,(连接前需要把 runtime/lib中的libgduplus.so删除),然后重启jexus。
三)技术支持:
Jexus官网:www.jexus.org,技术社区:www.linuxdot.net,QQ群:103810355、102732979。