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。

无需安装Mono的Jexus的更多相关文章

  1. ASP.NET跨平台实践:无需安装Mono的Jexus“独立版”

    在Linux上运行ASP.NET网站或WebApi的传统步骤是,先安装libgdiplus,再安装mono,然后安装Jexus.在这个过程中,虽然安装Jexus是挺简便的一件事,但是安装mono就相对 ...

  2. centos 6.X minimal 系列最小化安装完成后,安装mono和jexus过程小记录

    在使用虚拟机安装minimal版centos运行mono+jexus的时候,遇到了一些坑,记录一下,比如虚拟机访问不了网络,没wget命令没开放80端口,等等小问题,其他网上教程已经有mono+jex ...

  3. 安装mono和jexus,运行asp.net程序

    随笔- 62  文章- 1  评论- 7  raspberrypi(树莓派)上安装mono和jexus,运行asp.net程序   参考网址: http://www.linuxdot.net/ htt ...

  4. raspberrypi(树莓派)上安装mono和jexus,运行asp.net程序

    参考网址: http://www.linuxdot.net/ http://www.cnblogs.com/mayswind/p/3279380.html http://www.raspberrypi ...

  5. Centos、Ubuntu 安装 Mono、Jexus

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

  6. CentOS7 安装Mono及Jexus

    CentOS7安装Mono及Juxes 1 安装Mono 1.1 安装yum-utils 因为安装要用到yum-config-manager,默认是没有安装的,所以要先安装yum-utils包.命令如 ...

  7. Centos6下安装Mono和Jexus部署ASP.NET应用程序(纯干货)

    一.服务器 腾讯云VPS,Centos6.6系统 二.安装 1.yum升级 yum –y update 2.安装Mono所需要的库 yum -y install gcc gcc-c++ bison p ...

  8. Centos 7 安装Mono和Jexus 默认目录安装 (一)

    一.准备环境 yum -y install gcc gcc-c++ bison pkgconfig glib2-devel gettext make libpng-devel libjpeg-deve ...

  9. Linux搭建aspx.net环境之:CentOs 7 安装 Mono 和 Jexus 步骤记录

    1 因为163没有CentOs7的镜像.所以没有加这个 wget  http://mirrors.163.com/.help/CentOS6-Base-163.repo cd /etc/yum.rep ...

随机推荐

  1. IOS7上呈现IOS6的水滴刷新效果

    IOS7上呈现IOS6的水滴刷新效果    到了IOS7 发现自带的刷新 不再是 IOS6自带的水滴效果了 你是否怀念那IOS6的效果呢? 哈哈,于是收集各方资料,整理编写一个属于自己的水滴刷新效果 ...

  2. 基于visual Studio2013解决面试题之1102合并字符串

     题目

  3. CEGUI 输入法窗口实现

    游戏中经常要输入汉字,但当我们游戏没有自己实现输入法窗口时,windows会使用用户安装的输入法,但这个输入法窗口只会显示在游戏窗口外头,而且当我们游戏全屏时(真全屏,不是那种窗口式的假全屏),屏幕上 ...

  4. 解决java mail发送TXT附件被直接显示在正文中的问题

    这两天遇到一个问题,关于使用java mail发送邮件的问题. 详细是这样子的:我使用java mail发送异常报告邮件,邮件中有一个包含异常日志的附件,和关于设备信息的邮件正文.假设日志为log后缀 ...

  5. ubunut在系统恢复模式下无法改动rootpassword的分析和解决

    前些日子本猫的ubuntu 14.10貌似出了点问题,想改动下rootpassword,可是无奈原系统有错正常情况下无法改动啊.这是逼我重装的节奏吗? 在ubuntu开机后马上按住left_shift ...

  6. mysql学习之中的一个:mysql安装

    我用的时mac系统,本来想在mac系统上装一个,可是发现mac系统始终无法用password登入到本机server,很奇怪的问题(在stackflow上看了些回复,也没有找到原因),最后仅仅好装到虚拟 ...

  7. Swift - 使用UISearchController实现带搜索栏的表格

    我原来写过一篇文章“Swift - 带结果列表的搜索条(UISearchDisplayController)的用法”,当时是使用UISearchDisplayController来实现带有搜索功能的列 ...

  8. 时间戳timestamp

    1 时间戳 数据库中自动生成的 唯一的 二进制的数据,通常用作给数据表的行添加版本戳的机制. timestamp与时间和日期无关. timestamp存储大小为8字节. 一个数据表只能有一个times ...

  9. Linux下SSH Session复制

    羡慕Windows下secureCRT的Session Copy功能,一直在寻找Linux下类似的软件,殊不知SSH本身就支持此功能. 特别感谢阿干同学的邮件分享. 详细方法 ? 1 2 3 4 Li ...

  10. Android之一个简单计算器源代码

    通过Android4.0 网格布局GridLayout来实现一个简单的计算器界面布局   源码如下(欢迎大家指导 批评 ) package com.android.xiong.gridlayoutTe ...