安装好openresty之后,就可以实现一些nginx本身无法完成的一些功能了。在openresty之前,扩展nginx需要编写c语言模块,对于开发人员要求还是比较高,有了openresty之后,可以通过简单的lua脚本,就可以扩展nginx的功能。
对于nginx来讲,主要用在接入层,来实现网关的一些功能,那么也就需要一些流控、权限校验、缓存等功能,那么通过lua脚本就可以非常方便的对这些功能进行自定义开发。
lua脚本非常简单,通过lua脚本可以完成基本的流程控制,连接redis、数据库等操作。这里不对lua脚本进行扩展说明,有兴趣的朋友可以自己找一些lua的资料。
HelloWorld
我们第一个程序以在页面上输出hello world 为例来进行讲解
1. 修改nginx配置文件,默认路径在:/usr/local/openresty/nginx/conf/nginx.conf
修改后的文件如下图所示
对于nginx的配置这里就不多说了,主要看content_by_*开头的指令,这个nginx指令后面跟的就是lua代码,区别如下
content_by_lua 指定一句lua代码
content_by_lua_file 指定lua对应的文件,即在指定的文件下编写lua代码
content_by_lua_block 指定lua代码块,通过一对{}包裹起来,这里面是lua代码
ngx.say(); 这个可以向浏览器输出内容。
2. 校验修改后的nginx配置文件是否正确
nginx -t
3. 重启nginx
nginx -s reload
4. 通过浏览器访问
这个例子非常简单,对于正式的开发还差比较多,那么我们改如何获取到请求的参数,如何进行参数的校验,又如何连接到数据库或者Redis呢,继续关注后续的文章吧。