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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/430906.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

stat函数_数据分析工具入门 掌握这些Excel函数就够了

1.什么是函数可以把函数理解为一个可以控制的黑箱子&#xff0c;输入X到黑箱子中&#xff0c;他就会输出Y&#xff0c;参数就是黑箱子的控制开关&#xff0c;打到不同的档位&#xff0c;黑箱子会输出不同的Y。2.常见函数分类文本清洗函数关联匹配函数逻辑运算函数计算统计函数时…

mysql获取当前时间毫秒_MySQL性能指标及计算方法

是新朋友吗?记得先点蓝字关注我哦~ 今日课程菜单 Java全栈开发 | Web前端+H5 大数据开发 | 数据分析 人工智能+Python | 人工智能+物联网 来源:小职(z_zhizuobiao) 找我:✅ 解锁高薪工作 ✅ 免费获取干货教程 未 完 待 续 绝大多数MySQL性能指标可以通过以下两种方式获取:…

哈希查找

哈希查找之前&#xff0c;我们要弄清楚哈希技术&#xff0c;哈希技术是在记录的存储位置和记录的关键字之间建立一个确定的对应关系f&#xff0c;使得每个关键字key对应一个存储位置f(key)。查找时&#xff0c;根据这个确定的对应关系找到给定值的映射f(key),若查找集合中存在这…

fedora 安装Linux源码,如何在 Fedora 29/30 上安装 VS Code

Visual Studio Code 简称 VS Code 是微软开发的一款跨平台的源代码编辑器。 它具有内置的调试支持&#xff0c;嵌入式 Git 控件&#xff0c;语法突出显示&#xff0c;代码完成&#xff0c;代码重构和代码片段。Visual Studio Marketplace 提供了许多插件和扩展来扩展VS代码的功…

三菱伺服驱动器说明书_张家港市HG-KN13J-S100三菱伺服控制器

张家港市HG-KN13J-S100三菱伺服控制器MR-J2S1该产品还有RS-232和RS-422串行通讯功能&#xff0c;通过安装有伺服设置软件的个人计算机就能进行参数设定&#xff0c;试运行&#xff0c;状态显示和增益调整等操作。2与MR-J2S系列配套的伺服电机编码器采用了分辨率为131072脉冲/转…

Linux 禁用msi模式,通过禁用MSI模式解决Win10磁盘占用100%的方法

许多win10系统用户会在电脑中安装ssd固态硬盘&#xff0c;而在使用过程中经常会出现卡顿的情况&#xff0c;检查之后发现磁盘占用率100%&#xff0c;这是怎么回事呢&#xff0c;那么其实我们可以通过禁用MSI模式来解决&#xff0c;接下来给大家讲解一下通过禁用MSI模式解决Win1…

oracle jdbc jar包_Oracle总结之plsql编程(基础七)

紧接基础六&#xff0c;对oracle角色和权限的管理之后&#xff0c;在接下来的几次总结中来就最近工作中用过的plsql编程方面的知识进行总结&#xff0c;和大家分享&#xff01;一、plsql块1、只包括执行部分的plsql块打开输出选项&#xff1a;set serveroutput on&#xff1b;b…

Visual Studio调试之断点基础篇

原文链接地址&#xff1a;http://www.cnblogs.com/killmyday/archive/2009/09/26/1574311.html 我曾经问过很多人&#xff0c;你一般是怎么调试你的程序的&#xff1f; F9, F5, F11, F…… 有很多书和文章都是介绍怎么使用Visual Studio编写WinForm啦,、ASP.NET之类的程序&…

[译] ASP.NET 生命周期 – ASP.NET 请求生命周期(三)

使用特殊方法处理请求生命周期事件 为了在全局应用类中处理这些事件&#xff0c;我们会创建一个名称以 Application_ 开头&#xff0c;以事件名称结尾的方法&#xff0c;比如 Application_BeginRequest。举个例子&#xff0c;就像 Application_Start 和 Application_End 方法&a…

linux用while循环输出1到10,Linux Shell系列教程之(十一)Shell while循环 | Linux大学...

摘要在上一篇Linux Shell系列教程之(十)Shell for循环中&#xff0c;我们已经对Shell 循环语句的for循环进行了介绍&#xff0c;本篇给大家介绍下Shell 中另一种循环语句&#xff1a;Shell while循环。在上一篇Linux Shell系列教程之(十)Shell for循环中&#xff0c;我们已经对…

sqlserver 触发器 update_运维日记| SQL server 那点事——DML触发器

各位新朋友&#xff5e;记得先点蓝字关注我哦&#xff5e;11月19日&#xff0c;21点&#xff0c;小编正六指霸屏&#xff0c;决赛圈1V4&#xff0c;忽然&#xff0c;电话响了&#xff0c;这种感觉很熟悉&#xff0c;不错&#xff0c;上次差点推掉对面水晶的那一幕又上演了……作…

linux fb应用例子,Linux下利用framebuffer画点的程序小例子

Linux下利用framebuffer画点的程序小例子&#xff1a;/** ** Filename: framebuffer.c** Description: linux下利用framebuffer画点的程序小例子** Version: 1.0* Created: 2011年02月25日 10时33分29秒* Revision: none* Compiler: …

pb利用datawindow查询符合条件的数据并且过滤掉其他数据_数据质量监测

1 Overview1.1 数据质量在数据部门里&#xff0c;数据质量问题经常是被动发现&#xff0c;所以数据质量的问题是大多数公司数据部门都不得不面对的问题。数据质量校验的目标是监控数据管道中&#xff0c;生产者、处理阶段以及消费者的数据的正确性、一致性和及时性的一项系统工…

将解决方案和项目放在同一目录中_借助卡第那思3D电子目录,巴鲁夫使用CAE数据扩展其产品目录...

巴鲁夫作为一家中型企业&#xff0c;1921年成立于毗邻斯图加特市的诺伊豪森&#xff0c;80年代初期直至后来很长的一段时间内&#xff0c;巴鲁夫是巴西第一家及唯一一家从事自主生产的传感器制造商。如今巴鲁夫不再仅仅位于诺伊豪森&#xff0c;而是遍布欧洲、亚洲、北美、南美…

python公式如何编写_如何编写 Python 程序,资深Python大咖教你玩转Python

如何编写Python程序&#xff0c;这从来就不是一件很难的事。下面我教你保存和运行 Python 程序的标准步骤&#xff0c;如下&#xff1a;对于 PyCharm 用户1. 打开 PyCharm。2. 以给定的文件名创建新文件。3. 输入案例中给出的代码。4. 右键并运行当前文件。注意&#xff1a;每当…

c语言学籍管理系统小程序,学籍业务办理系统(开源 v2.0发布 优化代码,增加小程序端)...

更新说明&#xff1a;1、此2.0版&#xff0c;大幅度优化代码&#xff0c;增加小程序端方便使用2、v1.0测试地址已关&#xff0c;请勿测试学生在校期间避免不了要和各种证明打交道&#xff0c;比如学籍证明、转专业申请、休学申请、退学申请等等。此类业务一般流程都是学生去找老…

hill密码源代码c语言,古典密码(Hill加密算法)(示例代码)

“Hill的加密与解密”Hill加密是另一种多字母代替密码&#xff0c;与多表代替密码不同的是&#xff0c;Hill密码要求将明文分成同等规模的若干个分组(最后一个分组涉及到填充)&#xff0c;每一个分组被整体的加密代换&#xff0c;即希尔密码属于分组加密。Hill密码的算法思想是…

AWK高级编程 转载

AWK高级编程 转载 转载自&#xff1a;http://blog.csdn.net/wzhwho/article/details/5513791 1. 程序元素 一个awk 程序是一对以模式(pattern) 与大括号框起来的操作(action) 组合而成的&#xff0c;或许&#xff0c;还会加上实现操作细节的函数(function ) 。针对每个匹配于输…

tensor判断是否相等_PyTorch的Tensor(中)

背景在PyTorch的Tensor系列上一篇文章中&#xff1a;Gemfield&#xff1a;PyTorch的Tensor&#xff08;上&#xff09;​zhuanlan.zhihu.comGemfield介绍了一个Tensor的创建过程&#xff0c;特别是在创建一个Tensor的时候&#xff0c;调用栈从Python到C再回到Python的过程。与此…

charles抓包工具使用指南

前言移动APP抓包PC端抓包查看模式其他功能问题汇总1、 前言&#xff1a; Charles是一款抓包修改工具&#xff0c;相比起burp&#xff0c;charles具有界面简单直观&#xff0c;易于上手&#xff0c;数据请求控制容易&#xff0c;修改简单&#xff0c;抓取数据的开始暂停方便等等…