1.3 组成
《OpenResty完全2018送彩金的娱乐网站指南:构建百万级别并发的Web应用》第1章总论,本章将简略地介绍OpenResty 的历史、特点和组成,带领读者初步感受它的风采。本节为大家介绍组成。
- 作者:罗剑锋来源:电子工业出版社|2018-09-23 16:29
1.3 组成
OpenResty 并不是个“单块”(Monolithic)的程序,而是由众多设计精良的组件集合而成的,这些组件可以灵活组装或拆卸,共同搭建起了完整的高性能服务器2018送彩金的娱乐网站环境。
核心组件
OpenResty 的核心组成部分有四个,分别是:
- Nginx :高性能的Web 服务器(不熟悉的读者可阅读第2 章);
- LuaJIT :高效的Lua 语言解释器/编译器;
- ngx_lua(http_lua) :处理HTTP 协议,让Lua 程序嵌入在Nginx 里运行;
- stream_lua :与ngx_lua 类似,但处理的是TCP/UDP 协议。
使用这四个核心组件,OpenResty 就可以完成相当多的网络应用2018送彩金的娱乐网站工作了,但Open-Resty 远不止如此,它还包含了其他一些非常有用的Nginx 组件和Lua 组件,进一步增加了2018送彩金的娱乐网站工作的便利。
Nginx 组件
OpenResty 里的Nginx 组件以C 模块的方式提供,集成在Nginx 内部,较常用的有:
- ngx_iconv :转换不同的字符集编码;
- ngx_encrypted :使用AES-256 算法执行简单的加密运算;
- ngx_echo :提供一系列“echo”风格的指令和变量;
- ngx_set_misc :增强的“set_xxx”指令,用来操作变量;
- ngx_headers_more :更方便地处理HTTP 请求头和响应头的指令;
- ngx_memc :支持各种memcached 操作;
- ngx_redis2 :支持各种Redis 操作;
- ngx_dizzle :支持各种MySQL 操作;
- ngx_postgres :支持各种PostgreSQL 操作。
Lua 组件
OpenResty 里的Lua 组件通常以Lua 源码的方式提供(*.lua),但个别组件为追求效率会以C 语言实现,是动态链接库的形式(*.so)。
较常用的Lua 组件有:
- lua_core :OpenResty 的核心功能库;
- lua_cjson :处理JSON 格式的数据,速度很快(使用C 语言实现);
- lua_string :hex/md5/sha1/sha256 等字符串功能;
- lua_upload :流式读取HTTP 的上行数据;
- lua_healthcheck :后端集群健康检查;
- lua_limit_traffic :定制流量控制策略;
- lua_lock :基于共享内存的非阻塞锁;
- lua_lrucache :高效的LRU 缓存功能;
- lua_dns :高效、非阻塞的DNS 解析功能;
- lua_websocket :高效、非阻塞的WebSocket 功能;
- lua_redis :Redis 客户端,用起来比ngx_redis2 更灵活;
- lua_memcached :Memcached 客户端,用起来比ngx_memc 更灵活;
- lua_mysql :MySQL 客户端,用起来比ngx_dizzle 更灵活。
辅助工具
核心组件、Nginx 组件和Lua 组件实现了OpenResty 的主要功能,但作为集成2018送彩金的娱乐网站环境,辅助2018送彩金的娱乐网站、调试和运维的工具也是必不可少的。OpenResty 目前提供的辅助工具有:
- opm :类似rpm、npm 的管理工具,用来安装各种功能组件;
- resty-cli :以命令行的形式直接执行OpenResty/Lua 程序;
- restydoc :类似man 的参考手册,非常详细。
组件示意图
综上可见,OpenResty 是一个功能非常完备的服务器2018送彩金的娱乐网站包,大多数Web 应用所需的功能都已经包含在了里面,也就是所谓的“out of box”,我们只需要简单地在自己的程序里引用,就能够轻松享用这些高质量的模块和库,从而快速实现新的业务。
OpenResty 的组成可以用图1-1 来表示:
喜欢的朋友可以添加我们的微信账号:
51CTO读书频道二维码
51CTO读书会第9群:808517103
回书目 上一节 下一节 |
- 大家都在看
- 猜你喜欢
- 24H热文
- 一周话题
- 本月最赞
- 7.1.3 查看当前路径命令:pwd3.3.1.1 标准9针串口引脚定义程序员的自我修养:链接、装载与库1.1 动态类型语言和鸭子类型2.3 三角函数的图像1.6 常见函数及其图像(1)4.2 安装、配置和启动Nessus11.27 vgextend指令:向卷组中添加物理卷
- 3.3.1.1 标准9针串口引脚定义2.3 三角函数的图像7.1.3 查看当前路径命令:pwd1.6 常见函数及其图像(1)1.1 动态类型语言和鸭子类型7.2.3 用ALTER TABLE语句来创建索引8.2.8 drawRoundRect方法:绘制圆角矩形11.28 vgreduce指令:从卷组中删除物理卷
- 3.3.1.1 标准9针串口引脚定义7.1.3 查看当前路径命令:pwd2.3 三角函数的图像1.6 常见函数及其图像(1)7.2.3 用ALTER TABLE语句来创建索引1.4.5 比特币账户模型:UTXO8.2.8 drawRoundRect方法:绘制圆角矩形1.2 CDN的基本工作过程
视频课程+更多
-
2018年软考-信息系统项目管理师-基础知识(上)
讲师:小任老师635642人学习过
-
MaxScale读写分离项目实施与维护_MySQL高可用
讲师:风哥282人学习过
-
2018年软考系统集成项目管理工程师_基础知识
讲师:小任老师147923人学习过
2018送彩金白菜网大全专题+更多
- 精选博文
- 论坛热帖
- 注册送300元打到2000排行
读 书 +更多
SUN Solaris 9/10系统管理员认证指南
本书专门根据SUN官方的SCSA for Solaris 9&10考试大纲撰写而成,全面覆盖了SCSA for Solaris 9/10的认证考点,除此之外本书还有大量的非考...
-
订阅51CTO邮刊
点击这里查看样刊