下面是我阅读春哥OpenResty官网主页中“Using LuaRocks”一节的实操记录,整理如下。

https://openresty.org/cn/using-luarocks.html

1.在CentOS 6.9 x86_64搭建Lua开发环境

详细过程参见本博博文

http://blog.csdn.net/tao_627/article/details/78925211

2.通过LuaRocks安装 Lua MD5 库
在本示例中, 我们将使用Lua MD5 library作为服务器上的一个例子, 所以我们需要通过LuaRocks来安装它:
luarocks install md5

3.配置我们的OpenResty应用
vim nginx.conf
添加以下内容

worker_processes  1;   # we could enlarge this setting on a multi-core machine
user root;
error_log  logs/error.log warn;events {worker_connections  1024;
}http {#must use absolute pathlua_package_path '/root/or_test/conf/using_luarocks/?.lua;;';server {listen       80;server_name  localhost;location = /luarocks {#rewrite_by_lua_file "conf/using_luarocks/foo.lua";content_by_lua 'local foo = require("foo")foo.say("hello, luarocks!")--ngx.say("Hello world!")';}}
}

我们希望最终的目录结构如下

创建与conf下面的using_luarocks子文件夹存放lua文件
mkdir -p /root/or_test/conf/using_luarocks
存入foo.lua

module("foo", package.seeall)local bar = require "bar"ngx.say("bar loaded")function say (var)bar.say(var)
end

存入bar.lua

module("bar", package.seeall)local rocks = require "luarocks.loader"
local md5 = require "md5"ngx.say("rocks and md5 loaded")function say (a)ngx.say(md5.sumhexa(a))
end

4.开启Nginx服务
首先测试配置文件合法性
nginx -p ~/or_test -c ~/or_test/conf/using_luarocks.conf -t
重启OpenResty服务
nginx -p ~/or_test -c ~/or_test/conf/using_luarocks.conf -s reload
查看进程是否正常
ps auxf | grep nginx
查看端口是否启动
netstat -ntlp

5.测试我们的应用
现在我们通过curl 工具或者任意兼容HTTP协议的浏览器测试我们的应用:
curl -v http://localhost/luarocks
我们在第一次运行的时候得到以下的内容:
rocks and md5 loaded
bar loaded
85e73df5c41378f830c031b81e4453d2


第二次运行的时候得到以下内容:
85e73df5c41378f830c031b81e4453d2

6.基准测试
现在,让我们来做一些基准测试吧:
ab -c10 -n50000 http://127.0.0.1/luarocks
测试在是我的CentOS 6.9 x86_64虚拟机上进行的, 下面是测试中产生的数据

7.特殊说明
这里OpenResty默认包含了LuaJIT,系统中没有完整的lua程序,我使用源码安装了完整的lua,并继续安装了模块管理工具LuaRocks,
使用LuaRocks去安装其它lua相关的模块(OpenResty中没有包含的),并通过在nginx.conf中引用这些lua脚本来实现一些业务需求,比如这里的md5模块。这个思路是可行的。

8.参考文献
[1].https://openresty.org/cn/using-luarocks.html

在CentOS 6.9 x86_64的OpenResty 1.13.6.1上使用LuaRocks示例相关推荐

  1. 在CentOS 6.9 x86_64的OpenResty 1.13.6.1上使用基于Redis实现动态路由示例

    下面是我阅读春哥OpenResty官网主页中"Dynamic Routing Based On Redis"一节的实操记录,整理如下. https://openresty.org/ ...

  2. 在CentOS 6.9 x86_64上搭建全功能的OpenResty 1.13.6.1笔记

    好久没有玩OpenResty,这段时间机会难得,赶紧实践一下.下面是我在rMBP的CentOS 6.9 x86_64虚拟机上安装目前最新版OpenResty 1.13.6.1的笔记. OpenRest ...

  3. 在CentOS 6.6 x86_64上安装SystemTap/Perf+FlameGraph玩转火焰图实录

    下面是我结合网上资料摸索出的可行的操作方法,记录在这样,以备后面继续研究.操作系统是CentOS 6.6 x86_64. 1.将内核版本升级到最新版 因为我机器上CentOS 6.6的内核版本号是2. ...

  4. 在CentOS 6.5 x86_64上安装libunwind的问题

    1.事由 当时间进入2021年,之前的对CentOS 6.x上的官方依赖仓库和国内镜像仓库都不好使了,如果要安装软件包,是一个痛苦的事情.今天我在一台CentOS 6.5的老机器上安装ats的rpm包 ...

  5. 在CentOS 6.8 x86_64上安装ATS 6.2.1实录

    我的博客上已经有很多这样的ats安装实录了,这次的笔记有些不一样,因为它是ATS目前最新的LTS版本6.2.1的安装,写出来更多的是整理自己的思路,因为很多东西搞过不整理,过一段时间就完全忘记掉了. ...

  6. CentOS 6.6 x86_64升级内核到最新版2.6.32-642.3.1.el6.x86_64

    在基于CentOS平台的工作过程中,难免有时需要升级或者降级内核以验证功能.调试性能或者更新整个系统. 如果从头重新编译一个内核费时费力,另外加之现在内核特性越来越复杂,依赖的库或者工具也不少,找到一 ...

  7. 在VirtualBox 5.0.12 for Linux版本上安装CentOS 6.6 x86_64系统

    本博文记录了我在CentOS 6.6 64bit上的VirtualBox 5.0.12上安装一个CentOS 6.6 64bit的过程.我选择这样做的原因,是便于以后安装和验证一下软件. 如果直接在真 ...

  8. Centos 6.3 x86_64安装与配置bacula

    Centos 6.3 x86_64安装与配置bacula 一,简介 Bacula是一款开源的跨平台的网络备份工具,基于c/s架构,通过它,管理员可以对数据进行备份,恢复,以及完整性验证等操作. 适合业 ...

  9. CentOS 6.3(x86_64)下安装Oracle 10g R2

    CentOS 6.3(x86_64)下安装Oracle 10g R2 目 录 一.硬件要求 二.软件 三.系统安装注意 四.安装Oracle前的系统准备工作 五.安装Oracle,并进行相关设置 六. ...

最新文章

  1. R语言聚类分析--cluster, factoextra
  2. CF981H K Paths
  3. 笔记-项目整体管理-变更管理-变更管理的原则
  4. 【前端就业课 第一阶段】HTML5 零基础到实战(四)伪类与伪元素
  5. window8下安装RabbitMQ
  6. cam350怎么看顶层_厉害的人是怎么分析问题的?(实操干货)
  7. redis在php上使用教程,Redis在PHP的一些使用方法
  8. python实现学生成绩聚类分析_聚类分析Python实现
  9. PostgreSQL主备切换
  10. SQL Server时间粒度系列----第9节时间粒度示例演示
  11. Google新项目:从一条线开始,完成地球的绘制
  12. 汉文博士 0.5.7.2356 版发布
  13. Centos7+LVS-DR+Apache负载均衡web实验
  14. linux虚拟机的密钥,Linux虚拟机之间实现密钥登陆
  15. 数据结构之二叉树深度计算
  16. android 复制assets,Android复制Assets目录下的文件到指定目录
  17. 大学生慕课网站计算机操作系统,中国大学mooc电脑版
  18. 【沉舟侧畔千帆过,病树前头万木春】---OpenFeign的各种骚操作 -VS- 既生瑜何生亮的感叹,小Ribbon怎么办?
  19. 女人需要调教人需要调教
  20. Android对话框和帧动画

热门文章

  1. 2022-2028年中国边缘计算行业投资分析及前景预测报告(全卷)
  2. WCF服务端返回:(413) Request Entity Too Large
  3. Magent搭建Memcached集群
  4. C语言对mysql数据库的操作
  5. HTML教程--多页面窗体
  6. 整理了一下SQL Server里面可能经常会用到的日期格式转换方法
  7. 试用最新版本的live writer发一篇日志看看
  8. java 外部类似_[求指点] 如何用java 实现类似linux中管道调用外部程序的功能
  9. 《OpenCV3编程入门》学习笔记9 直方图与匹配(四)反向投影(back projection)
  10. 三角测量计算三维坐标的代码_浅谈三维扫描仪的由来