OpenResty LuaJIT — continue、bit、ffi 特性
摘自:http://www.daileinote.com/computer/openresty/03 我们知道,openresty 使用的开发语言为 Lua,内置了 LuaJIT 解释器,速度比 Lua 官方解释器要快很多。 LuaJIT 基于 Lua 5.1,但在不破坏兼容性的前提下适当引入了一些 5.2 和 5.3 的语言特性,还提供了很多特别的优化和库,例如 table.new、bit、ffi。LuaJIT 是开源的,官网地址为 http://luajit.org continueLua 语言不支持 continue 语法,有时候很不方便,好在 LuaJIT 加入了 Lua 5.2 的 goto 语句,变相的实现了 continue。goto 语句需要配合标签 ::label::使用,例如 123456789101112--tmp.luafor i=0,6,1 do if i<5 then goto continue else print(i) end ::continue::end[root@192 lua]# /...
安装 OpenResty
OpenResty® 是一个基于 Nginx的高性能 Web 平台,用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。具备下列特点: 具备Nginx的完整功能 基于Lua语言进行扩展,集成了大量精良的 Lua 库、第三方模块 允许使用Lua自定义业务逻辑、自定义库 官方网站: https://openresty.org/cn/ 安装OpenResty1.安装首先你的Linux虚拟机必须联网 1)安装开发库首先要安装OpenResty的依赖开发库,执行命令: 1yum install -y pcre-devel openssl-devel gcc --skip-broken 2)安装OpenResty仓库你可以在你的 CentOS 系统中添加 openresty 仓库,这样就可以便于未来安装或更新我们的软件包(通过 yum check-update 命令)。运行下面的命令就可以添加我们的仓库: 1yum-config-manager --add-repo https://openresty.org/package/centos...
Lua 语法入门
Lua语法入门Nginx编程需要用到Lua语言,因此我们必须先入门Lua的基本语法。 初识LuaLua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。官网:https://www.lua.org/ Lua经常嵌入到C语言开发的程序中,例如游戏开发、游戏插件等。 Nginx本身也是C语言开发,因此也允许基于Lua做拓展。 HelloWorldCentOS7默认已经安装了Lua语言环境,所以可以直接运行Lua代码。 1)在Linux虚拟机的任意目录下,新建一个hello.lua文件 2)添加下面的内容 1print("Hello World!") 3)运行 变量和循环学习任何语言必然离不开变量,而变量的声明必须先知道数据的类型。 Lua的数据类型Lua中支持的常见数据类型包括: 另外,Lua提供了type()函数来判断一个变量的数据类型: 声明变量Lua声明变量的时候无需指定数据类型,而是用local来声明变量为局部变量: 1234567...
