openresty
InterestingFigure
Salted fish in hand, I have the world.
展开
-
9 反向代理
{资源消耗低 转发性能高 支持http fastcgi memcached redis mysql grpc反向代理的三类指令上游集群upstream server ip_hash least_conn代理转发proxy_pass fastcgi_pass grpc_pass镜像转发mirror 仅在http子系统可用负载均衡算法基于perr而不是server进行调度反...原创 2019-12-11 09:44:15 · 149 阅读 · 0 评论 -
13 websocket
{基于tcp,可以理解为运行在http上的socket通信规范websocket和http是平级协议,两者都基于tcp,但websocket的握手阶段利用了http协议。内置 lua-resty-websocket 客户端 resty.websocket.client服务端 resty.websocket.server握手使用Upgrade:web-scoket头要求协议升级...原创 2019-12-10 16:09:49 · 247 阅读 · 0 评论 -
8 访问后端
{openresty有两种访问后端服务的方式:非阻塞1 子请求localtion.capture2 协程套接字cosocketlocaltion.capture需要配合nginx反向代理模块 ngx_proxy ngx_redis2 ngx_fastcgi简介访问后端服务,接口参数多,调用成本高基本原理:本请求内向另一个location再发一个HTTP请求,并完整地捕获处理后的所有...原创 2019-12-10 15:52:35 · 130 阅读 · 0 评论 -
7 http服务
{openresty完美结合 nginx的时间驱动机制和lua的协程机制,所有函数都是同步非阻塞,不需要异步回调。可以任意操作请求行、请求头、请求体、响应头、响应体也支持 chunked keepalive lingering_close等特性要处理http请求,所以这些http接口不能在 init init_worker timer阶段使用;部分不能在ssl阶段使用因为此时还没有建立...原创 2019-12-10 15:01:44 · 608 阅读 · 0 评论 -
5.openresty基础功能
系统信息ngx.config.debug 是否是debug版本prefix() 工作目录nginx_version 内部nginx的版本 if xx<1013006 error(xx) =>低于 1.13.6.x 不能运行nginx_configure() nginx编译时的配置参数subsystem 当前所在子系统 http或者strea...原创 2019-12-09 17:15:28 · 177 阅读 · 0 评论 -
4.openresty开发概述
worker_processes 1;events { worker_connections 512;}#其实 worker processes worker connections 都可以不写,默认值就是 worker 进程和最多 512 个连接,但配置块 events {}不能省略http { server { listen 80; server_name *.*; #H...原创 2019-12-09 16:55:15 · 216 阅读 · 0 评论 -
3.luajit简介
---------------------luajit环境openresty使用的解释器不是官方的lua解释器,而是第三方的luajit,为的是追求极致的性能luajit=汇编编写的解释器+jit编译器 基于lua5.1gotofor i=1,10 do if i%2==0 then goto continue end print("i=",i) ::cont...原创 2019-12-09 14:48:48 · 282 阅读 · 0 评论 -
2.lua简介
lua知名的应用:redis firefoxlua知名的游戏: 魔兽世界 愤怒的小鸟 我的世界table可以模拟出 数组 集合 字典 类 命名空间还提供闭包closure支持函数式编程 提供协程coroutine支持并发编程注释:两个- --多行注释:--[[...]] 可以在两个[中间嵌入=来标记不同注释层次lua六种基本的数据结构nil booleannumb...原创 2019-12-09 14:48:15 · 158 阅读 · 0 评论 -
1.openresty简介
openresty四个核心组成部分nginxluajit 高效的lua语言解释器编译器ngx_lua 处理http协议,让lua程序嵌入nginx运行stream_lua 与ngx_lua类似,但处理的是tcp、udp常用lua组件lua_mysql lua_redislua_websocketlua_upload辅助工具opm 类似rpm用来安装组件resty-cli...原创 2019-12-09 11:06:03 · 463 阅读 · 0 评论 -
四、Nginx优化配置
1.优化方法论1.1 从软件层面提升硬件使用效率 -增加CPU利用率 -增大内存的利用率 -增大磁盘I/O的利用率 -增大网络带宽的利用率1.2 直接提升硬件规格 -网卡:万兆网卡 -磁盘:固态磁盘 -CPU:更快的主频、更多核心、更大缓存、更优架构 -内存:更快访问速度2、nginx相关优化配置-进程相关 2.1 增大nginx使用CPU的有效时长 使用全部的CPU...原创 2019-11-21 17:04:21 · 215 阅读 · 0 评论 -
三、Nginx缓存(2)-nginx web缓存和反向代理缓存
nginx 提供了 expires、 etag、 if-modified-since 指令来进行浏览器缓存控制。expires指令语法: expires [modified] time;默认值: expires off;上下文: http, server, location, if in location例子expires 30s;#30秒expires 30m;#30分钟exp...原创 2019-11-21 17:01:00 · 750 阅读 · 0 评论 -
三、Nginx缓存(1)-客户端缓存
什么是缓存?Web缓存是可以自动保存常见文档副本的HTTP 设备。 当Web请求抵达缓存时, 如果本地有“已缓存的”副本, 就可以从本地设备而不是服务器中提取这个文档。为什么使用缓存?缓存减少了冗余的数据传输, 节约了网络费用缓存缓解了网络瓶颈的问题, 对于带宽的要求缓存降低了对原始服务器的要求, 降低服务器压力缓存加速了页面的展示缓存的分类:缓存分为服务端侧(比如 Nginx...原创 2019-11-21 15:46:11 · 292 阅读 · 0 评论 -
二、Nginx常用模块-Nginx常用内置变量说明
说明Nginx 同 Apache 和 Lighttpd 等其他 Web 服务器的配置记法不太相同, Nginx 的配置文件使用语法的就是一门微型的编程语言。可以类似写程序一般编写配置文件, 可操作性很大。既然是编程语言, 一般也就少不了“变量”这种东西。所有的 Nginx 变量在 Nginx 配置文件中引用时都须带上 $ 前缀在 Nginx 配置中,变量只能存放一种类型的值, 有且也只存...原创 2019-11-21 11:08:31 · 345 阅读 · 0 评论 -
二、Nginx常用模块- 防盗链实现(rewrite模块 - ngx_http_rewrite_module)
简介rewrite 的主要功能是实现URL地址的重定向。 Nginx 的 rewrite 功能需要PCRE软件的支持, 即通过perl兼容正则表达式语句进行规则匹配的。 默认参数编译nginx 就会支持 rewrite 的模块, 但是也必须要PCRE的支持。使用场景:可以调整用户浏览的URL, 看起来更规范, 合乎开发及产品人员的需求。为了让搜索引擎搜录网站内容及用户体验更好, 企业会...原创 2019-11-21 10:55:37 · 217 阅读 · 0 评论 -
二、Nginx常用模块-IP限速黑白名单
简介设置IP黑白名单之前,我们先要了解下用到的模块。ngx_http_limit_conn_module ngx_http_geo_module ngx_http_map_modulengx_http_limit_conn_modulehttp://tengine.taobao.org/nginx_docs/cn/docs/http/ngx_http_limit_conn_module.h...原创 2019-11-21 10:42:26 · 215 阅读 · 0 评论 -
二、Nginx常用模块-IP黑白名单
简介设置IP黑白名单之前,我们先要了解下用到的模块。http_access_module ngx_http_geo_module ngx_http_map_moduleIP访问控制模块 http_access_moduleNginx的deny和allow指令是由 模块提供,Nginx安装默认内置了该模块。 除非在安装时有指定 --without-http_access_module。...原创 2019-11-20 17:59:41 · 613 阅读 · 0 评论 -
一、openresty安装
Nginx描述Nginx的三大应用场景1.1、静态资源服务1.2、缓存、负载均衡服务器1.3、API服务(openresty)nginx优点更快、高扩展性、高可靠性、低内存消耗、单机支持10万以上的并发连接、热部署、最自由的BSD许可协议nginx的开源项目阿里巴巴TengineTengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添...原创 2019-11-20 15:59:21 · 191 阅读 · 0 评论