一:TinyFox介绍
TinyFox 是一款支持OWIN标准的WEB应用的高性能的HTTP服务器,是Jexus Web Server的"姊妹篇"。TinyFox本身的功能是html服务器,所有的WEB应用,通过加载含有一个OwinMain方法的"应用程序适配器"或"插件"实现,TinyFox与应用程序之间的数据交流格式是 OWIN规范的字典。2.3.2版已经正式发布,下载地址 http://www.linuxdot.net/。
二:TinyFox的特点:
1,跨平台:支持windows、linux等常用操作系统,同时针对linux平台编译有“独立版本”,这种版本不需要安装mono也能运行;
2,超轻量:功能明确,操作简便,无需安装。开发人员甚至可以将自己的应用程序与TinyFox一同打包直接部署到客户服务器上。
3,高性能:网络通讯层基于 libuv 实现,是完全的异步、非阻塞、事件驱动模型,上层代码也经过了高度优化;
4,支持WebSocket:开发者能很方便地利用 TinyFox 开发出基于 WebSocket 协议的各种性能优良、功能强大的交互式应用;
三:OWIN 介绍
OWIN 是一个开源开放的标准,全称是 "Open Web Interface for .NET", 它是 WEB 服务器与 .NET WEB 应用程序定义之间的交互接口,目的是实现 WEB 服务器与 .NET WEB 应用之间的解耦。关于 OWIN 协议的具体内容详见 http://www.owin.org。
四:新建一个Nancy项目,我们需要添加一个Adapter.cs
class Adapter { static Func<IDictionary<string, object>, Task> _owinApp; /// <summary> /// 默认构造函数 /// </summary> public Adapter() { var builder = new AppBuilder(); var startup = new Startup(); startup.Configuration(builder); _owinApp = builder.Build(); } /// <summary> /// *** JWS所需要的关键函数 *** /// </summary> /// <param name="env">新请求的环境字典,具体内容参见OWIN标准</param> /// <returns>返回一个正在运行或已经完成的任务</returns> public Task OwinMain(IDictionary<string, object> env) { //如果为空 if (_owinApp == null) return null; //将请求交给Microsoft.Owin处理 return _owinApp(env); } } //end class
五:将下载的TinyFox压缩包上传到linux中文件中,然后进行解压。
(一)【网站文件不在Tingfox文件夹中】将项目文件上传到linux中,我的项目文件所在位置 /var/wwwtonyfox/,然后找到tinyfox文件夹中的 fox.sh文件
下面就是tinyfox启动方式
然后再浏览器中输入ip地址即可看到效果
(二):将网站放在TinyFox提供的文件夹中