【发布时间】:2012-07-04 06:14:40
【问题描述】:
如何将我的 Lua 脚本编译成单个可执行文件,同时获得 LuaJIT 的超快性能优势?
背景:
- 我的 Lua 脚本用于我创建的 Web 应用程序(例如托管 http://example.com)
- 我目前的技术栈是 NGINX(Web 服务器)、Lua/LuaJIT(检索动态内容的语言)
- 我有大约 50 多个
.lua文件构成我的 Web 应用程序(来自模型/视图/控制器) - FreeBSD 9 操作系统
为了简化部署,我想将运行我的 Web 应用程序的所有 .lua 脚本编译成一个可执行文件。
-
这可能吗?如何实现?
貌似Lua官方自带了一个叫SRLua的库
- 将我的 .lua 编译为单个可执行文件有哪些负面影响(例如性能会更差等)?
【问题讨论】:
-
这是一个网络应用程序,对吧?这是否意味着您运行它...从您的网络浏览器?所以它不是你下载的可执行文件,对吧?
-
是的,一个网络应用程序。没有下载。这都是服务器端。
-
这是为了简化我在服务器端的部署,以便对我的代码进行修补等。今天运行我的 Web 应用程序需要 50 多个 .lua 文件。这意味着我必须在我的服务器上托管 50 多个 .lua 文件,并确保我拥有所有正确的文件。如果我可以 (1) 将其整合到单个编译文件中,这将使我的服务器维护和版本控制更加容易,并且 (2) 如果有性能优势 (?) 那也很棒。
-
我知道这不是最佳做法,但将所有文件作为单独的文本可以让您在实时站点上进行紧急修复,而无需经历整个重建和重新部署周期。如果您在部署期间无法将一组连贯的 50 个文件推送到服务器,您可能需要查看您的部署过程 - 构建统一的可执行文件并不容易。
标签: compilation nginx lua luajit