OpenResty's Branch of LuaJIT 2. Contribute to openresty/luajit2 development by creating an account on GitHub.
在OpenResty 几年前的老版本中, 编译的时候,可以选择使用标准 Lua VM ,或者 LuaJIT VM 来作为执行环境,不过,现在已经去掉了对标 准 Lua 的支持,只支持 LuaJIT。 OpenResty 并没有直接使用 LuaJIT 官方提供的 2.1.0-beta3 版本,而是在此基础上,扩展了 自己的 fork: [openresty-luajit2] 为什么选择 LuaJIT...
# 创建一个 NGINX 配置文件(例如 /usr/local/openresty/nginx/conf/nginx.conf)并添加一个包含 Lua 代码的 location 块:server { listen 80; server_name localhost; location /test { content_by_lua_block { ngx.say("Hello, LuaJIT!") } }} 保存配置文件,然后重新加载 NGINX:...
This is a test suite for LuaJIT 2.1 based on Mike Pall's personal LuaJIT test suite first published here: https://github.com/LuaJIT/LuaJIT-test-cleanup We did not touch Mike's existing test files at all to make sure all the tests still test what they were originally supposed to test...
LuaJIT 和 Lua 的不同之处; OpenRestyAPI和周边库; 协程和 cosocket; 单元测试框架和性能测试工具; 火焰图和周边工具链; 性能优化。 你不应该使用任何 Lua 世界的库来解决上述问题,而是应该使用 cosocket 的 lua-resty-* 库。Lua 世界的库很可能会带来阻塞,让原本高性能的服务,直接下降几个数量级。
OpenResty 的两个基石:NGINX 和 LuaJIT。 NGINX基础 在 OpenResty 的开发中,我们需要注意下面几点: 要尽可能少地配置 nginx.conf; 避免使用if、set 、rewrite 等多个指令的配合; 能通过 Lua 代码解决的,就别用 NGINX 的配置、变量
body_filter_by_lua'...'; # 应答体加密 } 二、LuaJIT 在OpenResty 的安装目录下,可以找到 LuaJIT 的目录和可执行文件。 1 2 3 4 5 $ which luajit /usr/local/Cellar/openresty/1.15.8.3_1/luajit/bin/luajit $ luajit -v LuaJIT 2.1.0-beta3 -- Copyright (C) 2005-2017 Mike Pall. http...
(1)每个Worker(工作进程)创建一个LuaJIT VM,Worker内所有协程共享VM。 (2)将Nginx I/O原语封装后注入Lua VM,允许Lua代码直接访问。 (3)每个外部请求都由一个Lua协程处理,协程之间数据隔离。 (4)Lua代码调用I/O操作等异步接口时会挂起当前协程(并保护上下文数据),而不阻塞Worker进程。
├── luajit #LuaJIT运行库 ├── lualib #Lua组件 ├── Nginx #Nginx核心运行平台 ├── pod #参考手册(restydoc)使用的数据 └── site #包管理工具(opm)使用的数据 启动服务 yum 安装完后,就可以直接运行openresty命令,启动 OpenResty 服务。
openresty-1.13.6.2/bundle目录里存放着nginx核心和很多第三方模块,比如有我们需要的Lua和LuaJIT。 3、安装LuaJIT cd bundle/LuaJIT-2.1-20180420/ make clean && make && make install ln -sf luajit-2.1.0-beta3 /usr/local/bin/luajit 1. 2. ...