博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用BeetleX在Linux下部署.NET多站点服务
阅读量:4035 次
发布时间:2019-05-24

本文共 1760 字,大约阅读时间需要 5 分钟。

      在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对象,并启动相关服务

var g = new Gateway();g.HttpOptions(o => { o.LogLevel = BeetleX.EventArgs.LogType.Warring; o.LogToConsole = true; o.Port = 80; o.SetDebug(); });g.OutputServerAddress = true;g.SetRoute("*", null).AddServer(    "http://192.168.2.25:9090",    "http://192.168.2.26:9090",    "http://192.168.2.27:9090");g.Open();

以上就是提供一个简单的网关负载服务,并把所有请求负载到三台服务上。由于组件提供了可视化的管理插件,所以接下来就不介绍代码的使用;如果想通过代码来定义自己的功能,可以查看组件的相关代码。

引用管理插件

      组件提供的管理插件也是免费的,提供大部分有限的功能在线管理。前面贴图展示的功能就是这个免费插件所提供的功能。在程序中只需要引用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实现安全可靠的网站服务。

转载地址:http://lrzdi.baihongyu.com/

你可能感兴趣的文章
Java的对象驻留
查看>>
自己动手写GC
查看>>
Java 8新特性终极指南
查看>>
logback高级特性使用(二) 自定义Pattern模板
查看>>
JVM并发机制探讨—内存模型、内存可见性和指令重排序
查看>>
可扩展、高可用服务网络设计方案
查看>>
如何构建高扩展性网站
查看>>
微服务架构的设计模式
查看>>
持续可用与CAP理论 – 一个系统开发者的观点
查看>>
nginx+tomcat+memcached (msm)实现 session同步复制
查看>>
c++字符数组和字符指针区别以及str***函数
查看>>
c++类的操作符重载注意事项
查看>>
c++模板与泛型编程
查看>>
STL::deque以及由其实现的queue和stack
查看>>
WAV文件解析
查看>>
DAC输出音乐2-解决pu pu 声
查看>>
WPF中PATH使用AI导出SVG的方法
查看>>
WPF UI&控件免费开源库
查看>>
QT打开项目提示no valid settings file could be found
查看>>
Win10+VS+ESP32环境搭建
查看>>