帮助中心

立即注册 咨询客服

当前位置:首页 > 帮助中心> 如何编译和使用Lua驱动的Mako服务器

如何编译和使用Lua驱动的Mako服务器

发布时间:2022年11月28日 11:39:28    来源: A5互联

Lua 是一种小型、精简且快速的脚本语言,非常适合与Web服务器一起使用,尤其是在小型Linux设备和低端虚拟专用服务器上。

Mako服务器提供了一个紧凑而高效的Lua web框架和非阻塞异步套接字,在一个微型准备运行的应用程序服务器包中。Mako服务器非常适合嵌入式Linux系统,例如Raspberry Pi。Lua是一种功能强大且快速的编程语言,易于学习和使用。

确保安装了以下工具:

sudo apt install git make gcc unzip

我们需要做的第一件事是克隆Barracuda App Server (BAS) GitHub 存储库。这个repo包括Mako服务器。简而言之,BAS 是一个Web服务器C库,而Mako Server是一个基于BAS库的准备运行的Web服务器。

git clone https://github.com/RealTimeLogic/BAS.git; 

cd BAS

您现在可以按如下方式运行makefile:

make -f mako.mk

但是,让我们添加一些模块。Lua和Mako Server可以轻松扩展,makefile设置为编译两个额外的通用模块:SQLite数据库引擎和Google的 Protocol Buffers。添加后,您可以从Lua访问其他 API。

cd src;

git clone https://github.com/starwing/lua-protobuf.git 

wget https://www.sqlite.org/2022/sqlite-amalgamation-3400000.zip; 

unzip sqlite-amalgamation-3400000.zip;

#将SQLite源码移动到BAS/src目录

cd sqlite-amalgamation-3400000/;

mv *.c *.h ..

注意:您可能需要检查是否正在下载最新的SQLite版本:https://www.sqlite.org/download.html

现在,导航到 BAS/ 目录并运行 make。

cd ../../;

make -f mako.mk

您现在可以运行Mako服务器

./mako

该服务器通常会打开端口9357(当以非 root 身份启动时),因此您现在可以导航到 http://localhost:9357

您应该会看到内置的介绍页面。

现在停止服务器 (CTRL-C) 并按如下方式下载教程:

git clone https://github.com/RealTimeLogic/LSP-Examples.git

示例 repo 包含许多示例,所以让我们尝试其中一个示例,web shell 示例:

./mako -l::LSP-Examples/Web-Shell/www

当您打开http://localhost:9357时,您应该会看到一个基于Linux Web的shell(基于 Web 的 SSH)这是一个快速介绍。