17.Nginx与Lua开发

编程

安装 Lua 和 Lua for nginx

#安装lua

yum install -y lua

lua -v

##安装更高效的 Lua 语言解释器 LuaJIT

wget http://luajit.org/download/LuaJIT-2.0.2.tar.gz

tar -zxvf LuaJIT-2.0.2.tar.gz

cd LuaJIT-2.0.2

make install PREFIX=/usr/local/LuaJIT/2.0.2

export LUAJIT_LIB=/usr/local/LuaJIT/2.0.2/lib

export LUAJIT_INC=/usr/local/LuaJIT/2.0.2/include/luajit-2.0

echo "/usr/local/LuaJIT/2.0.2/lib" >> /etc/ld.so.conf

ldconfig

安装 ngx_devel_kit 和 lua-nginx-module

wget https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz https://github.com/openresty/lua-nginx-module/archive/v0.10.9rc7.tar.gz

tar -zxvf v0.10.9rc7.tar.gz

tar -zxvf v0.3.0.tar.gz

#先make clean,然后在原有的nginx ./configure基础上,添加新的模块

#如果出现undefined reference to `X509_check_host"错误,需要添加--with-openssl选项,指向openssl 1.0.2安装包源码所在的目录。

./configure --add-module=/path/to/ngx_devel_kit-0.3.0 --add-module=/path/to/lua-nginx-module-0.10.9rc7

--with-openssl=/path/to/openssl-1.0.2k

make && make install

使用nginx日志输出 request 或 response 数据

https://www.hardill.me.uk/wordpress/2018/03/14/logging-requests-and-response-with-nginx/

##Nginx调用lua

指令

说明

set_by_lua, set_by_lua_file

设置Nginx变量

access_by_llua, access_by_lua_file

访问控制

content_by_lua, content_by_lua_file

接收请求,输出响应

##Lua调用Nginx

变量

说明

ngx.var

nginx变量

ngx.req.get_headers

获取请求头

ngx.req.get_uri_args

获取请求参数

ngx.redirect

重定向

ngx.print

输出内容

ngx.say

同ngx.print,会多一个换行符

ngx.header

输出响应头

...

...

专题阅读

  • 1. Nginx的优点
  • 2. Nginx的安装与开机自启
  • 3. Nginx目录和配置语法
  • 4. Nginx模块
  • 5. Nginx静态资源处理
  • 6. Nginx浏览器缓存原理
  • 7. Nginx资源的跨域访问
  • 8. Nginx资源的防盗链
  • 9. Nginx代理
  • 10. Nginx负载均衡
  • 11. Nginx缓存
  • 12. Nginx动静分离
  • 13. Nginx Rewrite
  • 14. Nginx Secure Link
  • 15. Nginx Geo
  • 16. Nginx HTTPS服务
  • 17. Nginx与Lua开发
  • 18. Nginx与Lua灰度发布
  • 19. Nginx常见错误
  • 20. Nginx性能优化
  • 21. Nginx安全管理

以上是 17.Nginx与Lua开发 的全部内容, 来源链接: utcz.com/z/514918.html

回到顶部