美文网首页
二、初识

二、初识

作者: 刀斧手何在 | 来源:发表于2019-10-19 18:29 被阅读0次

content_by_lua_block

content_by_lua_block {
        ngx.say("<p>hello, world</p>")
}

上一节,我们用了content_by_lua_block在OpenResty中使用了lua调用相关模块。但是在接下来的旅程中,我们会把content_by_lua_block的逻辑移动到一个lua 文件中去,再使用content_by_lua_file 来加载这个lua文件

content_by_lua_file

  • 创建lua脚本
mkdir lua_script
vim lua_script/app.lua

在app.lua中写入ngx.say('hello test')

  • 修改server 配置
server {
        listen    80;
        server_name  localhost;
        location /test {
                content_by_lua_file lua_script/app.lua;
        }
 }
  • 重启OpenResty服务
openresty -s reload -p `pwd` -c conf/nginx.conf
image.png

代码热加载

使用content_by_lua_file 的好处,除了把逻辑都移到对应到lua文件,看起来比较清爽整齐,另一个好处是content_by_lua_file 支持代码热加载。
调试过程中,每次改动都要重启一下openresty,这对于一个写惯PHP的同学来说,简直是不能忍呀。好在,openresty为我们提供了 热加载的配置项

  • lua_code_cache
server {
        listen    80;
        server_name  localhost;
        lua_code_cache off;
        location /test {
                content_by_lua_file lua_script/app.lua;
        }
 }

好了,配置完了再重启一次openresty。下次修改app.lua就能热更新,不需要重启了。当然该配置项不建议用于生产环境。配置项的作用域和热加载的其他实现方式,可以读一下文末的推荐阅读。

补充

  • 启动
openresty -p `pwd` -c conf/nginx.conf
  • 退出
openresty -s quit -p `pwd` -c conf/nginx.conf
  • 重启
openresty -s reload -p `pwd` -c conf/nginx.conf
  • 检测配置是正确
openresty -t -p `pwd` -c conf/nginx.conf

pwd 代表当前路径。-p Path指定了启动项目根路径。如果原本给出的是相对路径,那么 OpenResty 在启动时的命令行参数中的 -p PATH 作为前缀,将相对路径拼为绝对路径。这就是为啥我们 content_by_lua_file 能后顺利找到相对路径下的lua脚本。

可以看到openresty 的指令和nginx常用指令几无差别。这几条指令在这个旅程中可能经常会用到。

推荐阅读

相关文章

  • 初识(二)

    知道分班结果之后,我们这些准高一的“小鲜肉”又按照要求回到了操场。按照班级站成一列纵队。最让我头疼的事情是,按...

  • 二、初识

    content_by_lua_block 上一节,我们用了content_by_lua_block在OpenRes...

  • 初识(二)

    趴在桌子上睡着的张磊一下子惊醒,刚刚的梦境太可怕了。梦里他是一只宠物猫,讨好的围着一个女人,而那女人竟然是刘香玉…...

  • 初识二

    那个出口离得并不远,我足底生风,片刻功夫就到了,让我惊奇的是,这个出口竟然没有门。我略微沉吟了一会,附近还是不见半...

  • 初识(二)

    简一很享受下班后的办公时光。 办公室的人陆陆续续地走了,敲键盘的声音、说话的声音、走路的声音渐渐少了,办公室逐渐变...

  • 初识四段戏

    一月初识最是干净 二月初识上了颜色 三月初识开始斑驳 四月初识便是褪去

  • 正则表达式

    Python正则表达式初识(一) Python正则表达式初识(二) Python正则表达式初识(三) Python...

  • 初识webpack4.x(一)

    系列文章 初识webpack(一) 初识webpack(二)之常用插件配置 初始webpack(三)之环境分离终结...

  • ElasticSearch初识(二)

    什么是正向索引、什么是倒排索引? 正向索引(forward index),反向索引(inverted index)...

  • redis初识(二)

    Jedis -- redis java 客户端 Jedis 直连 // 1. 生成一个Jedis对象,这个对象负责...

网友评论

      本文标题:二、初识

      本文链接:https://www.haomeiwen.com/subject/zlkspctx.html