c++ - Laravel Lumen 可以在嵌入式机器上运行吗?

标签 c++ laravel lumen

我需要为嵌入式系统开发一个 Web 界面,并且想知道 Laravel 的 Lumen 是否在内存/磁盘/CPU 紧张的情况下运行。我不想构建纯 HTML,我正在寻找一个“严肃而现代”的框架来实现这一点。

我当前的配置是 Vortex 800MHz 处理器/256Mb RAM 和 1G 磁盘。我运行 Sqlite3 作为我的数据库和一些运行时 C++ 进程,占用大约 20% 的 CPU。我[正在这些设备上运行 Ubuntu 12。

Lumen 将用于构建管理界面,每天的连接数不超过几个(使用率非常低)。

有人有在该配置上运行 Lumen 的经验吗?可以与我分享吗?

感谢您的帮助。

最佳答案

坏消息,我认为你做不到。

内存

我的 Laravel 基本 LAMP 堆栈在 ~200mb RAM 中运行,因此 Lumen 应该运行良好。但是,通过 Composer 更新或安装 Laravel 最多可以使用 512mb 的 RAM。我知道 Lumen 是 Laravel 的兄弟,所以你可能不需要那么多,但你肯定会需要一些。

您可以使用 swap file 来解决这个问题,但您的交换文件至少需要 250mb(如果不是更多)。不幸的是,您没有足够的磁盘空间来容纳比这更大的交换文件。

磁盘空间

我假设你的 1G 磁盘空间实际上是 953mb,因为 base-10 to base-2 conversion .

根据the docs ,Ubuntu 12 的最低限度安装需要约 500mb,其余正常软件包需要 500mb。我假设您可以使用最低限度 500mb,主要是因为我不知道最低限度包括什么。您可能需要更多。

Apache 2.2 requires安装期间为 50mb,但安装后仅为 10mb。

我全新安装的 Lumen 大小为 28mb。

Sqlite 是 ~1mb .

我找不到引用资料,但 PHP 可能还有 10mb。

因此,非常保守的是,Ubuntu 需要 500mb,Swap 为 250mb,Apache 为 10mb,Lumen 为 28mb,Sqlite 为 1mb,PHP 为 10mb,总共799mb。这为您留下了154mb用于这些东西所需的额外软件包,以及安装过程中发生的各种文件下载和扩展。

我确信我遗漏了一些东西,并且我确信您必须在每次安装后通过运行 sudo apt-get clean 来清除 apt 缓存。

您可能还需要先安装最大的东西,直到绝对需要时才创建交换文件。


总的来说,我认为最好的选择是根据您的硬件规范启动虚拟机并尝试一下。祝你好运,并报告结果。

关于c++ - Laravel Lumen 可以在嵌入式机器上运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32081929/

相关文章:

php - 许多方法参数与批量参数

php - 选择动态端点时 Guzzle 不使用基本 uri(在本地工作,但在 K8S 上不工作)

使用外部 Laravel 护照 lumen api 进行 Laravel 客户端身份验证

c++ - 为什么在检查有效输入时我还要使用 istream::ignore?

c++ - C++在后台Windows 10中运行程序

c++ - 来自资源数据的 C/C++ 消息框

php - laravel 发送邮件的最大收件人数是多少?

c++ - 非托管代码中的信号量

php - 根据表数据有条件地执行SQ​​L查询/语句

php - 使用 Laravel/Lumen DB facade 转储 sql 查询