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

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://www.mzph.cn/news/307952.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

模块化妙用!用vue3实现一个鼠标追踪器和异步加载组件

用vue3实现一个鼠标追踪器和异步加载组件一、🖱️鼠标追踪器1、功能实现2、给静态页面绑定功能二、⚙️异步加载组件1、功能实现2、给静态页面绑定功能3、用泛型改造异步组件功能三、📚结束语周一最近学完 vue3 新特性,就想着用 vue3 来捣鼓…

leetcode15. 三数之和(三指针)

一:题目 二:思路 1.这里的去重是指的是我们在遍历元素的时候,遇到相同的挨着的相同的元素的时候要跳过 2.对元素进行排序,为了后面的比较 3.我们用的是三个指针,第一个指针i指向第一个元素,第二个指针left指向第二个元素,第三个指…

vue3的传送门teleport究竟有多神奇?suspense发起异步请求有多简约?

一文讲解vue3的Teleport和Suspense一、👋用teleport实现打开模态框操作1、teleport是什么2、实现模态框功能(1)设置锚点(2)定义子组件(3)定义父组件二、🤚用Suspense1、Suspense是什…

【BCVP】实现基于 Redis 的消息队列

聆听自己的声音如果自己学不动了,或者感觉没有动力的时候,看看书,听听音乐,跑跑步,休息两天,重新出发,偷懒虽好,可不要贪杯。话说上回书我们说到了,Redis的使用修改《【B…

leetcode18. 四数之和(双指针)

一&#xff1a;题目 二&#xff1a;上码 class Solution { public:vector<vector<int>> fourSum(vector<int>& nums, int target) {vector<vector<int> >ans;vector<int> v;sort(nums.begin(),nums.end());for(int i 0; i < nums…

过去3个多月的1200个小时里,我收获了什么?| 2021年年中总结

&#x1f55b;序言 今年三月初&#xff0c;善后了上学期事情之后&#xff0c;我开始在想&#xff0c;我的未来规划。 身边的好朋友和同学都在筹划着自己的未来&#xff0c;考研的考研&#xff0c;考公的考公。父母和老师们也在劝我说考研&#xff0c;问我考不考研。 依稀记得…

WPF 消息框 TextBox 绑定新数据时让光标和滚动条跳到最下面

WPF 消息框 TextBox 绑定新数据时让光标和滚动条跳到最下面独立观察员 2020 年 9 月 3 日我们在使用 WPF 的 TextBox 作为消息展示框时&#xff0c;如果想在出现滚动条之后&#xff0c;新消息到来时还能够被看到&#xff0c;也就是说让滚动条始终在最下面&#xff0c;或者说光标…

leedcode344. 反转字符串

一:题目 二:上码 class Solution { public:void reverseString(vector<char>& s) {//双指针for(int i 0,j s.size() - 1; i < s.size()/2; i,j--) {swap(s[i],s[j]);}} };

组件库实战 | 用vue3+ts实现全局Header和列表数据渲染ColumnList

用vue3ts实现全局Header和列表数据渲染ColumnList&#x1f5bc;️序言&#x1f4fb;一、ColumnList数据渲染1、设计稿抢先知2、数据构思3、视图数据绑定4、数据传递5、挠头情况☎️二、GlobalHeader全局Header1、设计稿抢先看2、数据构思3、视图数据绑定4、数据传递&#x1f4f…

初识ABP vNext(8):ABP特征管理

点击上方蓝字"小黑在哪里"关注我吧定义特征应用特征用户数量社交登录前言上一篇提到了ABP功能管理&#xff08;特征管理&#xff09;&#xff0c;它来自ABP的FeatureManagement模块&#xff0c;ABP官方文档貌似还没有这个模块的相关说明&#xff0c;但是个人感觉这个…

.NET Core 中导入导出Excel

操作Excel是一个比较常见的业务场景&#xff0c;本篇将使用EPPlus简单演示一个导入导出的示例。EPPlus开源地址&#xff1a;https://github.com/EPPlusSoftware/EPPlus在项目中添加EPPlus组件Install-Package EPPlus导入先准备一个Excel文件&#xff0c;将其内容读取出来&#…

不会webpack的前端可能是捡来的,万字总结webpack的超入门核心知识

一文了解webpack入门核心知识&#x1f3a8;序言&#x1f4c5;一、webpack究竟是什么1、写在前面2、什么是模块打包工具&#xff1f;&#x1f4d0;二、如何用Webpack搭建环境1、安装node2、创建项目3、初始化项目4、安装webpack5、安装具体版本的webpack⚙️三、Webpack的配置文…

剑指 Offer 05. 替换空格(两种做法)

一:题目 二:上码 1:方法一 class Solution { public:string replaceSpace(string s) {string str "";for(int i 0; i < s.size(); i) {if(s[i] ){str "%20";}else{str s[i];}}return str;} };2:方法二&#xff08;双指针&#xff09; class So…

.NET Core 中生成验证码

在开发中&#xff0c;有时候生成验证码的场景目前还是存在的&#xff0c;本篇演示不依赖第三方组件&#xff0c;生成随机验证码图片。先添加验证码接口public interface ICaptcha {/// <summary>/// 生成随机验证码/// </summary>/// <param name"codeLeng…

10分钟手把手教你用Android手撸一个简易的个人记账App

用Android手撸一个简易的个人记账系统⛱️序言&#x1f4cb;一、系统结构设计Design1. 需求分析2. 数据库设计3. 界面设计4. 过程设计&#x1f4d8;二、编码阶段Coding1. 项目结构&#x1f5c2;️&#xff08;1&#xff09;文件目录&#xff08;2&#xff09;AndroidManifest.x…

像素级调整,高效转换——轻松提升你的图片处理体验!

探索更高级的图片处理体验&#xff0c;我们为你带来像素级调整与高效转换的完美结合&#xff01;借助我们的专业工具&#xff0c;轻松调整图片像素&#xff0c;让你在细节处展现无限创意&#xff0c;提升作品质感。 第一步&#xff0c;进入首助编辑高手主页面&#xff0c;可以看…

ABP VNext实践之搭建可用于生产的IdentityServer4

一、前言用了半年多的abp vnext&#xff0c;在开发的效果还是非常的好&#xff0c;可以说节省了很多时间&#xff0c;像事件总线、模块化开发、动态API进行远程调用、自动API控制器等等&#xff0c;一整套的规范&#xff0c;让开发人员更方便的集成&#xff0c;提升效率&#x…

151. 翻转字符串里的单词(思路+详解)

一:题目 二:上码 class Solution { public://利用双指针使除去多余的空格,定义快慢指针&#xff0c;最后满指针指向的位置就是除去冗余空格后的字符串//大小void removespacing(string& s){int slowIndex 0,fastIndex 0;//去掉字符串前面的字符while(s.size() > 0 &a…

一文了解树在前端中的应用,掌握数据结构中树的生命线

一文了解树在前端中的应用&#x1f3d5;️序言&#x1f332;一、树是什么&#xff1f;&#x1f334;二、深/广度优先遍历1、深度优先遍历&#xff08;1&#xff09;定义&#xff08;2&#xff09;口诀&#xff08;3&#xff09;代码实现2、广度优先遍历&#xff08;1&#xff0…

【追加功能】OFFICE插件管理工具重整后再上路,更好用易用。

现在使用OFFICE插件的群体越来越多&#xff0c;在8月份修复过的【OFFICE插件管理工具】&#xff0c;尝试将COM加载项的插件管理进行完善。但仍然有一小部分普通加载项的管理未能加到里面。特别是近期用户反馈到的EasyShu插件不能取消加载问题&#xff08;这个是一个bug&#xf…