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. Light OJ 1318 Strange Game 组合数+高速幂+分解因子

    长度为l的用k种字符组成的字符串有k^l中 当中m个字符要不同样 那就是k^l*C(l, m)*(k-1)^m 有反复 要除以2 可是你mod n了 不能直接除 n不一定是素数 所以不能乘以逆元 所以 ...

  2. Java基础10 接口的继承与抽象类

    链接地址:http://www.cnblogs.com/vamei/archive/2013/03/31/2982240.html 作者:Vamei 出处:http://www.cnblogs.com ...

  3. WSGI详解

    WSGI接口 了解了HTTP协议和HTML文档,我们其实就明白了一个Web应用的本质就是: 浏览器发送一个HTTP请求: 服务器收到请求,生成一个HTML文档: 服务器把HTML文档作为HTTP响应的 ...

  4. 使用Eclipse EE开发web项目

    最近使用EclipseEE开发web项目,遇到了以下几个问题: 1. 通过tomcat启动web应用的时候,总是提示找不到包或者class. 经过排查,发现所有的jar包并没有放到WEB-INF/li ...

  5. ASP.NET - 无限极分类

    下拉列表-------- 数据库设计: -- 无限分类 -- -- 数据库:DB_InfiniteCategory -- 数据表:Tb_Infinite ----------------------- ...

  6. ASP.NET - Eval使用自定义的方法

    <asp:Repeater ID="rep_allnews" runat="server"> <ItemTemplate> <tr ...

  7. Last_IO_Errno: 1236 Last_IO_Error: Got fatal error 1236 from master when reading data from binary lo

    mysql> show slave status\G *************************** 1. row ***************************         ...

  8. Linux 静态库&动态库调用

    1.什么是库在windows平台和linux平台下都大量存在着库.本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行.由于windows和linux的本质不同,因此二者库的二进制是不 ...

  9. 前端javascript框架之AngularJS学习笔记

    <!doctype html><html lang="en" ng-app><head><meta charset="utf-8 ...

  10. Effective C++_笔记_条款11_在operator=中处理“自我赋值”

    (整理自Effctive C++,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) 为什么会出现自我赋值呢?不明显的自我赋值,是“别名”带来的结果: ...