• 在Centos7上安装Mono

    yum install yum-utils

    rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"

    yum-config-manager --add-repo http://download.mono-project.com/repo/centos/

    yum install mono-devel

    yum insall mono-complete

  • 下载Jexus,下载地址htttp://www.linuxdot.net/
  • 安装Jexus

    tar -zxvf jexus-5.8.0.tar.gz

    cd jexus-5.8.0

    sudo ./install

    默认安装路径为/usr/jexus

  • 启动Jexus

    cd  /usr/jexus

    sudo ./jws start

    然后在浏览器中输入localhost/info

    会显示如下界面

    •   
  • 要想在Jexus上运行,还要在项目中添加一个Adapter和RazorConfig类,代码如下,只需要原样复制项目中即可
  • using System;
    using System.Collections.Generic;
    using Microsoft.Owin.Builder;
    using System.Threading;
    using System.Threading.Tasks;namespace WebSite
    {/// <summary>/// Jexus/TinyFox OWIN适配器/// </summary>class Adapter{/************************************** 这是一个比较完整的适配器示例* ***********************************//// <summary>/// OWIN 应用程序委托/// </summary>static Func<IDictionary<string, object>, Task> _owinApp;/// <summary>/// 适配器构造函数/// </summary>public Adapter(){//实例化一个应用程序生成器var builder = new AppBuilder();// 为生成器添加一些参数// 因某些OWIN框架需要从该参数中得到一些初始化环境信息// 这些信息可以包括 如“owin版本”“服务器功”能等等var properties = builder.Properties;properties["owin.Version"] = "1.0";  // 只能是1.0var disposeSource = new CancellationTokenSource();properties["server.OnDispose"] = disposeSource.Token;Func<Task> svrInitCallback = null;Action<Func<Task>> init = (callback) => { svrInitCallback = callback; };properties["server.OnInit"] = init;//.......var capabilities = properties.ContainsKey("server.Capabilities") ? properties["server.Capabilities"] as IDictionary<string, object> : new Dictionary<string, object>();properties["server.Capabilities"] = capabilities;capabilities["server.Name"] = "TinyFox";//capabilities["websocket.Version"] = "1.0";//......//实例化用户的启动类,并调用配置方法//如果用户启动类在其它的dll中,就需要通过反射找出这个类var startup = new Startup();startup.Configuration(builder);//构建OWIN应用并获取该应用的代理(委托)方法_owinApp = builder.Build();//要求应用程序域退出时,向本类发出通知AppDomain.CurrentDomain.DomainUnload += ((o, e) => { disposeSource.Cancel(); });//回调应用层初始化函数if (svrInitCallback != null) svrInitCallback().Wait();}/// <summary>/// *** Jexus/TinyFox所需要的关键函数 ***/// </summary>/// <param name="env">新请求的环境字典,具体内容参见OWIN标准</param>/// <returns>返回一个正在运行或已经完成的任务</returns>public Task OwinMain(IDictionary<string, object> env){//如果为空if (_owinApp == null) return null;//调用Microsoft.Owin的应用程序委托函数,将请求传给OWIN框架return _owinApp(env);}}
    }

    using System;
    using System.Collections.Generic;
    using Nancy;
    using Nancy.ViewEngines.Razor;namespace WebSite
    {public class RazorConfig : IRazorConfiguration{public bool AutoIncludeModelNamespace{get{return true;}}public IEnumerable<string> GetAssemblyNames(){yield return "System.Web.Razor";}public IEnumerable<string> GetDefaultNamespaces(){yield return "System.Web.Razor";}}
    }

  • 发布站点到本地,用WinSCP连接服务器,将发布后的文件拷贝到Linux服务器上的/var/www/website目录下.然后切换到/usr/jexus/siteconf目录,新建一个文件,名称为website,将目录下default文件的内容复制过来,并修改配置

    port=91

    root=/  /var/www/website

    hosts=*    #OR your.com,*.your.com

    owinmain=WebSite.dll

  • 修改防火墙

    $ vi /etc/sysconfig/iptables

    $ i,添加端口

    -A INPUT -p tcp -m tcp --dport 91   -j ACCEPT

    $ esc

    $ :wq保存退出

    $ service iptables restart

  • 重新jexus

    cd /usr/jexus/

    sudo ./jws restart

    输入localhost:91/

    •   

转载于:https://www.cnblogs.com/lpush/p/5164708.html

Nancy跨平台开发总结(三)发布到Jexus Web服务器相关推荐

  1. 在ISA2006以SSL-TO-HTTP方式发布内部的WEB服务器(二)

    接上一篇在ISA2006以SSL-TO-HTTP方式发布内部的WEB服务器(一) 在此(二)部分,主要分为三大部分,一是建立ISA主机与内部WEB服务器HTTP连接:二是建立ISA主机与WEB客户端之 ...

  2. 软考高级系统架构设计师论文系列三:论改进Web服务器性能的有关技术

    软考高级系统架构设计师论文系列三:论改进Web服务器性能的有关技术 一.摘要 二.缓存服务器和均衡负载设备 三.Web服务器配置 四.三层C/S软件结构设计 一.摘要 某大型图书馆数字化信息系统的设计 ...

  3. golang glog文件名命令_Golang开发的全功能单文件Web服务器

    最新HTTP/2标准已经发布,是基于谷歌QUIC的技术升级而成.虽然标准已经发布,但是目前还鲜有应用支持,那么有没有方法进行技术尝鲜呢?答案是肯定的.本文虫虫给大家介绍一个Golang Web服务器应 ...

  4. 在ISA2006以SSL-TO-HTTP方式发布内部的WEB服务器(一)

    一.为何做此实验,写此文      公司有一台OA服务器,使用的是厂商集成安装模式(windows+php+apache+mysql),并对外开放WEB访问.此种情况下,面临几个问题:      一是 ...

  5. 〖Web全栈开发③〗—HTTP协议和静态web服务器

    HTTP协议和静态web服务器 (一)三次握手和四次挥手 (二)HTTP协议 2.1 HTTP协议的定义 2.2 HTTP协议的组成 (三)搭建python自带静态web服务器 3.1 静态web服务 ...

  6. Axure9发布到局域网web服务器教程

    Axure9发布到局域网实现web访问 背景交代 在工作中常用的原型设计主要是墨刀和Axure,墨刀今天就说了,主要说Axure.Axure设计完成之后,发布方式有2中,一种是发布到本地(本地磁盘), ...

  7. python web开发 网络编程 HTTP协议、Web服务器、WSGI接口

    文章目录 1. HTTP协议 2. Web服务器 3. 静态服务器 创建 web_server.py 4. WSGI 接口 4.1 CGI 通用网关接口 4.2 WSGI 4.3 定义 WSGI 接口 ...

  8. Node.js「三」—— 创建静态 WEB 服务器

    本文为 Node.js 系列笔记第三篇.文章参考:nodejs 教程:<深入浅出 Node.js>:阮一峰 nodejs 博客: Node.js v16.13.0 文档 文章目录 前言 一 ...

  9. Nancy跨平台开发总结(六)三层架构之Token认证的Rest API

    在开始写本节内容前,我使用Nancy.Authentication.Token实现的Token认证,但是就在我开始写本节内容的时,我看到Nancyfx的文档中的内容更新 所以我改为使用Nancy.Au ...

最新文章

  1. jupyter notebook 更改工作目录
  2. 剑指OFFER之从二叉搜索树的后序遍历序列(九度OJ1367)
  3. 深度学习~生成式对抗神经网络GAN
  4. C# winform开发:Graphics、pictureBox同时画多个矩形
  5. 两个服务器之间怎么传输大量数据速度快 java socket_一口气说出Kafka为啥这么快?...
  6. pdf转换成可在线浏览的电子杂志zmaker_pdf
  7. jMeter parallel controller 无法使用 CSV Data config 提供的变量?
  8. Eclipse New菜单中没有Android Project选项
  9. H3C MSR路由器GRE over IPv4典型配置案例
  10. python中的map,feilter,和reduce函数
  11. 凯恩帝k1000ti参数设置_KND1000TI系统参数
  12. Windows下搭建Scala开发环境
  13. 差分进化算法原理及matlab代码实现
  14. 电脑c盘怎么清理_电脑C盘内存不足?三分钟教你彻底清理C盘空间,瞬间多出10个G...
  15. Autodesk 3ds Max2020安装说明
  16. c语言编译器uwp版,哔哩哔哩UWP最新版下载 - 哔哩哔哩UWP版免费版(32位64位win10)安装下载v1.3.10.0 - QT软件园...
  17. AR5B22刷win10的killer驱动
  18. PLSQL使用SYSTEM用户连接报错:ORA-01031: insufficient privileges
  19. java把汉字转换成拼音
  20. 中兴2016校招软件在线笔试题

热门文章

  1. 【1】生产者-消费者模型的三种实现方式
  2. 【转】java提高篇(二)-----理解java的三大特性之继承
  3. Leetcode016 3Sum Closest
  4. C++处理一个动态规划的问题
  5. css--block formatting context
  6. Docker中安装Jenkins实时发布.net core 项目(一)
  7. linux可用机场客户端,Linux系统可用的6款Bittorrent客户端
  8. 【Shiro】Unsatisfied dependency expressed through method 'securityManager' parameter 3
  9. 10、jeecg 默认为空的字段值是如何被填充的?
  10. Android 获取天气数据