日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/10 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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

總結

以上是生活随笔為你收集整理的Nancy跨平台开发总结(三)发布到Jexus Web服务器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。