新版的网关主要升级到BeetleX最新版提高http协议的解释性能,从而让网关的吞吐能力进一步提升,在功能界面上也做了简单的调整让操作更方便,修复linux下无权限启动进程问题。如果在windows上不想用IIS,linux下用nginx怕麻烦,那Beetlex的Web应用网关也是一个不错的选择。
安装
可以通过以下两个地址下载安装,分别是:
https://gitee.com/beetlex-io/downloads
https://github.com/beetlex-io/downloads
下载 gateway-xxx-1.5.7.zip,可以根据需下载win64或linux64,以下是针对linux64的安装:
下载完成后可以解压即可,默认解压后的文件是没有权限执行的,需要执行以下命令给运行权限。
sudo chmod 777 BumblebeeApp
由于网关默认是占用80端口,所以运行的时候也需要通过sudo来运行
sudo ./BumblebeeApp
执行成功会看到以上日志
[17:14:38] [Info] SYSTEM -----------------------------------------------------------------------------____ _ _ __ __| _ \ | | | | \ \ / /| |_) | ___ ___ | |_ | | ___ \ V / | _ < / _ \ / _ \ | __| | | / _ \ > < | |_) | | __/ | __/ | |_ | | | __/ / . \ |____/ \___| \___| \__| |_| \___| /_/ \_\ http and websocket gateway framework -----------------------------------------------------------------------------Copyright © 2019-2021 beetlex.ioServerGC [True]BeetleX Version [1.6.5.41]FastHttpApi Version [1.9.4.3] Bumblebee Version [1.4.9.6] -----------------------------------------------------------------------------Listen :80 [SSL:False] [Status:success]-----------------------------------------------------------------------------
说明网关在80端口上运行成功。接下来就可以通过浏览器访问网关的管理功能,访问地址:http://host/__system/bumblebee/index.html .进行界面如下:
[管理用户名:admin 密码:123456]
使用
网关的使用比较简单,如果是负载外部服务可以通过Servers功能添加服务,然后在Routes功能里添加服务到指定的Url路由上即可;相关操作大概如下:
Servers功能
Routes功能
服务托管
如果应用规模不大只有一台服务器但又需要多域名处理的情况,就需要用到网关的服务托管功能。这功能可以管理任意web服务,并把请求路由到托管的服务中;beetlex的提供的网关功能在不用IIS或nginx的情况实现多域名站点处理。接下来介绍beetlex如何在linux下托管aspcore网站应用。
托管aspcore应用
第一步构建一个简单的aspcore web项目,为了省去安装.net runtime方便让Beetlex部署把aspcore项目编译成linux下的独立运行程序。
程序编写完成后就可以使用Beetlex网关服务去托管它。首先在Web process files功能上创建一个应用目录。
创建应用完成后只把aspcore发布的文件上传到目录里面即可,由于web不支持上传目录,可以通过拖放的方式把文件和目录拖到列表中即可上传所有目录和文件。上传完成后在文件名右边的小图标点击创建进程
如果希望下次网关启动的时候自动启动进程,需要把AutoStart属性打开。当创建完成后就可以在Web process启动它,可通过日志查看启动情况。
通过操作后beetlex托管aspcore服务就完成,这个时候你可以直接访问网关即可以得到aspcore的运行效果。
总结
通过beetlex网关应用可以快速在linux或windows下部署多域名网站应用,由于beetlex基于独立进程的方式来托管子服务,因此除了可以部署aspcore的web服务外还可以部署其他语言平台的web应用服务。