openresty的简单使用

本文介绍了OpenResty的安装过程、环境配置,以及如何利用Nginx+Lua进行开发,包括接收请求、处理请求、常用API的使用、全局内存管理和访问控制模块。此外,还讲解了如何进行web网页开发,利用模板渲染技术生成动态页面。
摘要由CSDN通过智能技术生成

Openresty: Nginx核心加很多第三方模块组成,默认集成lua开发环境,提供了大量组件如Mysql、Redis、Memcached等等

安装

1)步骤

#!/bin/bash

tar xvf openresty-1.9.7.3.tar.gz

cd openresty-1.9.7.3

./configure --with-luajit --with-http_drizzle_module --with-http_iconv_module --with-ld-opt="-Wl,-rpath,/usr/local/lib"  --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module

gmake

gmake install

--with-luajit              集成luajit模块

2)安装结果

Luajitluajit环境lua是一种解释语言,通过luajit可以即时编译lua代码到机器代码,得到很好的性能

Lualib要使用的lua库,里边提供了一些默认的lua库,如redis,json库等,也可以把一些自己开发的或第三方放在这

Config:存放nginx配置文件。

(3)配置环境

a.配置配置文件路径

http{}块中添加如下内容:

include     /usr/local/openresty/config/*.conf;

所有的配置文件存放在/usr/local/openresty/config/目录下。

b.另外,如果在测试环境中,为了在修改完lua代码之后立即生效,不需要执行nginx -s reload,可以在http{}块中添加lua_code_cache off;默认开启,表示缓存lua代码。

3nginx+lua开发

1)流程:

a).接收请求

nginx配置文件

/usr/local/openresty/config/目录下创建xxx.conf文件,名字随意。

hello.conf

server {

   listen 80;

   server_name        xxx.xxx.xxx.xxx;

   access_log          /var/log/hello_access_80.log  main;

   location /hello {

     default_type "text/html";

     #接收到请求后,hello.lua做处理

     content_by_lua_file /usr/local/openresty/lua/hello.lua;

   }

}

对外提供的接口为http://xxx.xxx.xxx.xxx/hello

b).处理请求

hello.lua

local uri_args = ngx.req.get_uri_args()

for k, v in pairs(uri_args) do

  ngx.say(k, ": ", v, "<br/>")

end

ngx.say("hello")

表示获取请求参数。以k:v方式输出。

c).获取响应

浏览器:http://xxx.xxx.xxx.xxx/hello?instance=100&params=test

params: test
instance: 100
hello

(2)常用API

1、基础API

a).ngx.var: nginx变量

案例:

nginx配置文件:

location /var {

   default_type "text/html";

   set $a 1;

   set $b 2;

   content_by_lua_file /data/local/openresty/lua/var.lua;

}

lua文件:<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值