介绍一位OWin服务器新成员TinyFox

TinyFox 是一款支持OWIN标准的WEB应用的高性能的HTTP服务器,是Jexus Web Server的"姊妹篇"。TinyFox本身的功能是html服务器,所有的WEB应用,通过加载含有一个OwinMain方法的"应用程序适配器"或"插件"实现,TinyFox与应用程序之间的数据交流格式是 OWIN规范的字典。

一,TinyFox有如下特点:

1,跨平台:支持windows、linux等常用操作系统;

2,超轻量:功能单一而明确:除了静态文件由自身处理外,其它的应用逻辑直接交给用户处理;

3,高性能:底层基于 libuv 开发,是完全的异步、非阻塞、事件驱动模型,上层代码也经过了高度优化;libuv是NodeJs的基础库,libuv 是一个高性能事件驱动的程序库,封装了 Windows 和 Unix 平台一些底层特性,为开发者提供了统一的 API,libuv 采用了异步 (asynchronous), 事件驱动 (event-driven)的编程风格, 其主要任务是为开人员提供了一套事件循环和基于I/O(或其他活动)通知的回调函数, libuv 提供了一套核心的工具集, 例如定时器, 非阻塞网络编程的支持, 异步访问文件系统, 子进程以及其他功能,关于libuv的更多内容推荐参考电子书 http://www.nowx.org/uvbook/

4,高安全性和高稳定性:本服务器由Jexus Web Server作者开发,在很大程度上承接了JWS的高安全性和高稳定性素质;

二、如何使用

  1. 下载安装包http://linuxdot.net/down/tinyfox-1.0.tar.gz,整个Host的大小用7Z打包了仅仅只有1.26M大小。拆开压缩包之后,我们能够发现几个重要的组成,如下图所示:
  1. windows需要安装.NET4以及版本,非Windows操作系统需要安装mono 3.12以上版本;
  2. 在 windows上,点击 TinyFox文件夹中的fox.bat,在linux上输入 ./fox.sh 就能运行; 当前版本的默认端口是8088,可以修改 fox.bat (windows)或 fox.sh (非windows) 脚本,在 owinhost.exe 后边加上 "-p 端口号"。 自带一个测试项目,访问下面地址 http://localhost:8088/

http://localhost:8088/info

http://localhost:8088/test

  1. 你的应用需要基于OWIN开发或者在具有OWIN接口的应用层框架上开发(比如NancyFx),在此基本上,新建一个类(可称为"适配器""接口"),这个类中,必须有一个叫"OwinMain"的方法(具体格式参见demo),然后把编译后的dll放在网站wwwroot的bin文件夹或approot文件夹中。惊鸿哥写了一篇文章"OwinHost再添新成员:TinyFox",文章详细介绍了如何部署用了OWIN模式的NancyFX的应用。

Tools目录下Jws.Owin-Adapters.zip中有三个"应用"示例,base.demo是最能体现OWIN原始定义,msowin.demo是在插件中加载microsoft.owin.dll进入ms处理OWIN的流程,nancy.demo是在ms owin处理流程(管道)中加载NancyFx,运行NancyFx应用层框架。

欢迎测试,如果你有什么问题,QQ群(102732979 或 103810355)反馈,讨论。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏运维小白

linux基础(day 32)

10.6 监控io性能 监控系统状态 iostat -x 磁盘使用 iotop 磁盘使用 查看磁盘使用情况 在运维工作中,除了查看CPU和内存之外,磁盘的io...

2738
来自专栏运维

Nginx1.10.2稳定版本tcp四层负载安装配置过程略解

nginx1.10.2(2016.10.18)是最新稳定版,适合线上运行,最新开发版为1.11.8(2016.12.27)

1041
来自专栏云计算教程系列

开源资产管理系统Snipe-IT安装教程

在IT行业中,需要完整的生命周期跟踪资产的资产管理,包括采购,维护,存储和处置。Snipe-IT是专为IT资产管理而设计的免费开源应用程序,提供基于Web的界面...

1.1K4
来自专栏何俊林

一个强大的网络库RxEasyHttp

本文来自周游的投稿,封装的网络请求库,github:https://github.com/zhou-you/RxEasyHttp,欢迎点击【阅读原文】,查看更多...

3688
来自专栏流柯技术学院

android自动化之monkeyrunner

运行monkeyrunner之前必须先运行相应的模拟器或连上设备,不然monkeyrunner无法连接设备。

1132
来自专栏黑泽君的专栏

c语言基础学习02_windows系统下的cmd命令

============================================================================= 注意...

2292
来自专栏Ryan Miao

Javascript跨域后台设置拦截

子域名之间互相访问需要跨域 结论放在开头: 服务端必须设置允许跨域 客户端带cookie需要设置withCredentials 无论服务端是否允许跨域,该req...

2788
来自专栏linux、Python学习

Linux基础教程之linux文件权限深度解读

基本命令—— 1.cut : cat /etc/passwd | cut -d’:’ -f7| uniq -c| sort -nr

640
来自专栏分布式系统进阶

Kafka重置消费的OffsetKafka源码分析-汇总

3952
来自专栏DT乱“码”

项目日志

20170418日志 今天遇到的问题 1.maven使用私服的设置,需要替换maven目录conf文件下的settings.xml 2.构建项目问题,proj...

1908

扫码关注云+社区