luajit

openresty中lua的数据类型及案例演示

匿名 (未验证) 提交于 2019-12-02 23:40:02
版权声明:原创文章,未经允许不得转载. https://blog.csdn.net/shengqianfeng/article/details/91458482 openresty输出helloworld的两种方式 进入luajit目录,查看luajit版本 信息: 使用luajit执行lua脚本,我们编写一个hello.lua,输出hello world! ./luajit -v 使用resty命令来执行打印hello world,因为resty最终也是调用luajit的。 /usr/local/openresty-1.11.2.5/bin/resty -e 'print("hello world")' openresty打印Lua的数据类型 输出:string /usr/local/openresty-1.11.2.5/bin/resty -e 'print(type(print))' 输出:function /usr/local/openresty-1.11.2.5/bin/resty -e 'print(type(true))' 输出:boolean /usr/local/openresty-1.11.2.5/bin/resty -e 'print(type(0.1))' 输出:number 输出:table 输出:nil 数据类型案例 字符串拼接 /usr/local

openresty+lua灰度发布的简单实验

五迷三道 提交于 2019-12-02 21:37:18
如题,本文是笔者使用openresty 和lua脚本实现的简单灰度发布系统,记录下来。 一、安装 参考openresty 官方网站安装openresty即可 建议参考文章https://www.cnblogs.com/zdz8207/p/Nginx-Lua-OpenResty.html 1.下载软件包 wget https://openresty.org/download/openresty-1.13.6.2.tar.gz 2.解压 tar zxcf openresty-1.13.6.2.tar.gz cd openresty-1.13.6.2/ 进入插件目录cd bundle/ 3.安装LuaJIT cd LuaJIT-2.1-20180420/ make clean && make && make install ln -sf luajit-2.1.0-alpha /usr/local/bin/luajit 4.安装ngx_openresty、(ngx_cache_purge、nginx_upstream_check_module安装参考上面的url) root @user :/usr/servers/ngx_openresty-1.9.7.1/bundle# cd .. root @user :/usr/servers/ngx_openresty-1.9.7.1# .

Lua-bit

好久不见. 提交于 2019-12-02 06:05:33
LuaJIT中添加了bit库的扩展,bit库。一共有12个方法的扩展 bit.tobit 转成位格式 bit.tohex 转出16进制格式 bit.bnot 取反 bit.band 与操作 bit.bor 或操作 bit.bxor 非操作 bit.lshift 逻辑左移 bit.rshift 逻辑右移 bit.arshift 算数右移 bit.rol 左旋 bit.ror 右旋 bit.bswap 交换 LuaJIT官网参考: http://luajit.org/extensions.html 来源: https://blog.csdn.net/a799453937/article/details/102728259

用lua扩展你的Nginx(整理)

只谈情不闲聊 提交于 2019-12-02 05:57:02
原文: https://www.cnblogs.com/yanzi-meng/p/9450999.html ngx_lua 模块详细讲解(基于openresty) --- https://www.cnblogs.com/yanzi-meng/p/9450991.html 用lua扩展你的Nginx(整理) ----------------- https://www.cnblogs.com/yanzi-meng/p/9454015.html ngx_lua模块中的共享内存字典项API----- https://blog.csdn.net/weiyuefei/article/details/38487475 2017年04月22日 20:05:21 阅读数:430 Nginx_Lua 1.1. 介绍 1.2. 安装 1.2.1. 安装JIT平台 1.2.2. NDK与Lua_module 1.2.3. 编译安装Nginx 1.3. 嵌入Lua后 1.3.1. 检测版本 1.3.2. Hello,World 1.3.3. 同步形式,异步执行 1.4. Nginx与Lua执行顺序 1.4.1. Nginx顺序 1.4.2. Lua顺序 Lua基本语法 2.1. 关键字 2.2. 运算 2.2.1. 数字运算 2.2.2. 赋值运算 2.2.3. 逻辑运算 2.3. 条件判断语句 2.3.1

How can I create a pointer to existing data using the LuaJIT FFI?

风格不统一 提交于 2019-12-01 21:20:11
问题 I know there are examples of creating pointers using the LuaJIT FFI, but most of these aren't pointed to existing data. One such example of this is here: How to pass a pointer to LuaJIT ffi to be used as out argument? One thing that I haven't been able to successfully do is create a pointer to an existing value. In order to have a pointer type as far as I know, I have to know that I want to have a pointer point to it at some point in the future, as in: local vao = ffi.new("GLuint[1]") gl

How can I create a pointer to existing data using the LuaJIT FFI?

孤街浪徒 提交于 2019-12-01 18:58:00
I know there are examples of creating pointers using the LuaJIT FFI, but most of these aren't pointed to existing data. One such example of this is here: How to pass a pointer to LuaJIT ffi to be used as out argument? One thing that I haven't been able to successfully do is create a pointer to an existing value. In order to have a pointer type as far as I know, I have to know that I want to have a pointer point to it at some point in the future, as in: local vao = ffi.new("GLuint[1]") gl.GenVertexArrays(1, vao) gl.BindVertexArray(vao[0]) Here, I know that glGenVertexArrays needs a pointer to

OpenResty(nginx扩展)实现防cc攻击

孤人 提交于 2019-12-01 13:32:37
OpenResty(nginx扩展)实现防cc攻击 作者: 朱 茂海 /分类: Nginx , 服务器安全 /Tag: OpenResty 文章目录 [ 隐藏 ] 一、安装依赖 二、luajit安装 三、openresty安装 四、nginx配置 防cc攻击,推荐使用 HttpGuard 本文介绍使用 openresty 来实现防cc攻击的功能。openresty官网 http://openresty.org/cn/index.html 。下面是防cc攻击的流程图。 根据流程图,我们知道防cc攻击主要包括两部分,一是限制请求速度,二是给用户发送js跳转代码进行验证请求是否合法。 一、安装依赖 centos: yum install readline-devel pcre-devel openssl-devel ubuntu : apt-get install libreadline-dev libncurses5-dev libpcre3-dev libssl-dev perl 二、luajit安装 cd /tmp/ git clone http://luajit.org/git/luajit-2.0.git cd luajit-2.0/ make && make install ln -sf luajit-2.0.0-beta10 /usr/local/bin/luajit ln

安装nginx_lua_module以及echo-nginx-module收集日志

久未见 提交于 2019-11-30 12:22:56
unknown directive "access_by_lua" unknown directive "set_unescape_uri" 之所以报错是缺少nginx的三方插件,下面介绍安装nginx的第三方插件,插件很多直介绍三个 方式一: 下载 ngx_openresty ,该集成包中有: Nginx , Lua 或 Luajit , ngx_lua ,以及一些有用的 Nginx 第三方模块。 安装步骤: ./configure --with-luajit make make install 安装完成,个人建议第一种安装方便简单,另外这个版本还提供了很多的组件,安装不会出现错误。 方式二: Ngx_lua手动编译进Nginx。 首先,我的 Nginx 安装路径为:/usr/local/nginx。 我将尝试编译的两个模块:echo,lua。 所需要的模块如下: liujit http://luajit.org lua http://www.lua.org ngx_devel_kit https://github.com/simpl/ngx_devel_kit echo-nginx-module https://github.com/agentzh/echo-nginx-module lua-nginx-module https://github.com/chaoslawful

玩转 Nginx 之:使用 Lua 扩展 Nginx 功能

巧了我就是萌 提交于 2019-11-30 08:33:08
1、Nginx 简介 Nginx 作为一款面向性能设计的HTTP服务器,相较于Apache、lighttpd具有占有内存少,稳定性高等优势。其流行度越来越高,应用也越来越广泛,常见的应用有:网页服务器、反向代理服务器以及电子邮件(IMAP/POP3)代理服务器,高并发大流量站点常用来做接入层的负载均衡,还有非常常见的用法是作为日志采集服务器等。 Nginx 整体采用模块化设计,有丰富的模块库和第三方模块库,配置灵活。其中模块化设计是nginx的一大卖点,甚至http服务器核心功能也是一个模块。要注意的是:nginx的模块是静态的,添加和删除模块都要对nginx进行重新编译,这一点与Apache的动态模块完全不同。不过后来淘宝做了二次开发开源的 tengine 是支持 官方所有的 HTTP 模块动态加载而不必重新编译 Nginx,除非是第三方模块才需要重新编译。因此,在生产环境中,推荐用淘宝开源的 tengine,本文也以 tengine 作为示例。 虽然 Nginx 有如此强大的性能以及众多的三方模块支持,但每次重新编译以及寻找三方模块对生产环境来说还是不可接受的,幸运的是,Nginx 它是支持客户自己 Lua 脚本编程扩展相应的功能的,而且可以热加载,这就给生产环境带来了无限可能。比如我现在想要直接用Nginx + redis 做反爬虫和频率限制,Nginx + Kafka

Centos 7.6 Install docker Dockerfile nginx 1.15.2

心已入冬 提交于 2019-11-29 19:16:37
配置Dockerfile vim Dockerfile # Base images 基础镜像 FROM centos:centos7 #安装相关依赖 RUN yum -y install gcc gcc-c++ autoconf automake make vim net-tools RUN yum -y install zlib zlib-devel openssl* pcre* wget lua-devel #MAINTAINER 维护者信息 MAINTAINER fendo CIAS #ADD 获取url中的文件,放在当前目录下 ADD http://nginx.org/download/nginx-1.15.2.tar.gz /tmp/ #LuaJIT 2.1 #ADD http://luajit.org/download/LuaJIT-2.0.5.tar.gz /tmp/ ADD https://github.com/LuaJIT/LuaJIT/archive/v2.0.5.tar.gz /tmp/ #ngx_devel_kit(NDK)模块 ADD https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz /tmp/ #lua-nginx-module 模块 ADD https://github.com