標籤:
一: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提供的檔案夾中
TinyFox 部署在CentOS7 中測試使用