使用BeetleX在Linux下部署.NET多站点服务
? ? ? 在windows下常用IIS來部署.NET的多站點服務,但在Linux下就沒這么方便了;雖然可以使用一些代理服務器如nginx,jexus等來反代或部署應用,但nginx對.NET應用的托管就相對沒這么方便了,jexus的確是個不錯的服務應用;在這里介紹一下BeetleX來完成這一功能,BeetleX提供了一個HTTP和WS的反代組件服務Bumblebee,組件的新版本提供服務進程管理模塊,可以通過這一功能輕易地在Linux中為.NET提供多站部署能力。
簡介
? ? ??為了提供更靈活的擴展性,Bumblebee是以組件的方式提供;因此想使用這個組件進行一個網關和進程容器來管理的話還是需要寫個外殼程序來啟動它。Bumblebee是以.net core2.1進行開發,只要應用是基于.net core2.1或更高版本都可以使用,并可同時運行在Linux或Windows下。雖然要自己引入組件來編寫服務器,由于靈活的插件機制所以可以引用對應的管理插件即可達到一個非常簡便的管理服務。可以通過
https://beetlex.io/__system/bumblebee/index.html?
查看基于Bumblebee部署的多.NET網站示例?
使用
? ? ? 一般情況下要需要構建一個控制臺程序,然后引用最新版本的BeetleX.bumblebee
(https://www.nuget.org/packages/BeetleX.Bumblebee/)
引用組件后即可以定義相應的Gateway對象,并啟動相關服務
以上就是提供一個簡單的網關負載服務,并把所有請求負載到三臺服務上。由于組件提供了可視化的管理插件,所以接下來就不介紹代碼的使用;如果想通過代碼來定義自己的功能,可以查看組件的相關代碼。
引用管理插件
? ? ??組件提供的管理插件也是免費的,提供大部分有限的功能在線管理。前面貼圖展示的功能就是這個免費插件所提供的功能。在程序中只需要引用BeetleX.Bumblebee.Configuration的最新版本,并通過代碼加載這個插件即可在服務中方便到它
?g.LoadPlugin(typeof(Bumblebee.Configuration.Management).Assembly)更多資料可以查看http://doc.beetlex.io/
服務進程管理
? ? ? 這功能是最新版引用,管理插件也提供這一管理模塊;通過點擊Process菜單來打開服務進程管理模塊。
可以根據自己的需要來添加Web服務進程
里面的信息主要用于描述啟動的文件名,運行目錄和對應的啟動參數等待。其他參數主要用于描述服務,路由和啟動等。
Host
指定可以訪問的HTTP服務地址,這個地址會自動添加到網關的服務中Route
指定相應路由規則下訪問該服務AutoStart
當網關啟動的時候自動啟動該進程服務
相關操作
? ? ? 每個進程都提供簡單的操作,主要包括有啟動,重啟,停止和查看日志等等。而這個日志只是用于查看進程服務輸出的控制臺的信息內容。
總結
? ? ??通過以上介紹是不是對BeetleX進行多站服務部署感非常簡單,由于BeetleX是基于反代的方式來進行代理訪問,所以在服務進程管理上并不只是管理.NET的服務進程,只要服務是基于HTTP或WS不管是不是.NET服務都可以通過BeetleX進行管理并集成到統一的服務中。更重要的一點BeetleX可以部署到Linux或windows等多平臺下,并可以良好地支持TLS實現安全可靠的網站服務。
總結
以上是生活随笔為你收集整理的使用BeetleX在Linux下部署.NET多站点服务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [C#.NET 拾遗补漏]08:强大的L
- 下一篇: 关于技术规划的想法