• 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。

    转载自

    宇内流云的博客

    【http://www.cnblogs.com/yunei/p/5452120.html】

  • 相关阅读:
    Redis 设置密码登录
    SELinux 宽容模式(permissive) 强制模式(enforcing) 关闭(disabled) 几种模式之间的转换...
    laravel 博客项目部署到Linux系统后报错 权限都设置为777,仍然报错没有权限
    linux用netstat查看服务及监听端口
    redis使用rediscli查看所有的keys及清空所有的数据
    一起谈.NET技术,Oxite 项目结构分析 狼人:
    一起谈.NET技术,VS 2010 和 .NET 4.0 系列之《在VS 2010中查询和导航代码》篇 狼人:
    一起谈.NET技术,VS 2010 和 .NET 4.0 系列之《添加引用对话框的改进》篇 狼人:
    一起谈.NET技术,VS 2010 和 .NET 4.0 系列之《代码优化的Web开发Profile》篇 狼人:
    一起谈.NET技术,数组排序方法的性能比较(3):LINQ排序实现分析 狼人:
  • 原文地址:https://www.cnblogs.com/flish/p/5454165.html
Copyright © 2020-2023  润新知