Docker 下的 OpenResty 三部曲之一:极速体验
欢迎访问我的 GitHub
这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos
开涛大神的《跟我学Nginx+Lua开发》是学习 OpenResty 的经典教程,学习的时候,一开始搭建环境花了一些时间,于是我制作了 Docker 镜像,在 Docker 下就可以快速的进入实战了;
章节介绍
从本章开始,我们在 Docker 实战 Nginx+Lua 开发,整个实战分为以下三章:
极速体验 Nginx+Lua 构建的 web 服务;
详细讲解 Docker 镜像的制作过程,其实也就是搭建 Nginx+Lua 开发和运行环境的过程;
在 kubernetes 环境搭建 Nginx+Lua+Tomcat 的综合服务;
实战的 web 服务介绍
本章的 Nginx+Lua 搭建的 web 服务提供两个 http 接口:
lua_request:展示 OpenResty 的基本 api,可以将 http 请求的 header、url 参数等信息输出到响应页面;
lua_sequare:展示 Lua 的 module 功能,提供一个库,根据请求参数中的长和宽计算长方形面积;
实战环境
操作系统:Ubuntu16;
Docker 版本:17.03.2-ce;
接下来开始实战吧;
启动容器
执行以下命令即可下载镜像并启动一个容器:
控制台提示以下信息:
OK,用于体验 Nginx+Lua 的容器已经启动成功了,接下来我们验证一下服务吧;
用浏览器验证 web 服务
我的机器 IP 地址是 192.168.119.150,所以在浏览器输入以下地址:
http://192.168.119.150:9000/lua_request/111/222 ,浏览器展示如下信息,大部分都是 lua 脚本中 OpenResty 的 API 提供的数据:
http://192.168.119.150:9000/lua_sequare/10/30 ,浏览器展示如下信息:
可见 web 服务的接口已经正常工作了,接下来我们去容器中看看真实的 lua 脚本;
浏览 lua 脚本
执行以下命令进入容器:
执行 cat /usr/local/work/boling_cavalry.conf,将 nginx 的配置信息打印出来,如下:
如上所示,lua_request 和 lua_sequare 都有单独配置,主要的功能分别由 test_request.lua 和 get_sequare.lua 两个脚本来实现,您可以继续查看这两个脚本,与页面结果对比;
至此,我们快速的体验了 Nginx+Lua 提供的 web 服务,接下来的章节,我们一起来看一下本章用到的镜像是如何制作的,了解如何在 Docker 下自己制作这个环境;
欢迎关注 InfoQ:程序员欣宸
版权声明: 本文为 InfoQ 作者【程序员欣宸】的原创文章。
原文链接:【http://xie.infoq.cn/article/a82563bb4b0192ddff8f8b515】。文章转载请联系作者。
评论