随笔分类 -  nginx/OpenResty

摘要:小张和师父边走边聊,很快的,一座雄伟的都城便出现在了师徒两人的面前,没有流连于帝都的繁华,他们先来到了处理全国各地事务的“行政街”。有师傅的指引,小张到了一个府衙门口将信件交给了官差,很快便拿到了处理结果的回信。没想到处理的这么快,好奇之余加上师父之前给自己讲的nginx处理机制,便想要更加深入了解 阅读全文
posted @ 2020-11-12 21:24 mentalidade 阅读(233) 评论(0) 推荐(0)
摘要:客户端如何验证服务器的证书呢?服务器自己的证书必须经过某“权威”证书的签名,而这个“权威”证书又可能经过更权威的证书签名,这么一级一级追溯上去,最顶层那个最权威的证书就称为根证书。根证书直接内置在浏览器中,这样,浏览器就可以利用自己自带的根证书去验证某个服务器的证书是否有效。 如何创建一个自签名的S 阅读全文
posted @ 2019-02-25 17:55 mentalidade 阅读(1470) 评论(0) 推荐(0)
摘要:openresty的ngx.timer.at真是个强大的方法。 + 例如某些函数不可以在一些NGINX的执行阶段使用时,可以ngx.timer.at API 创建一个零延迟的timer,在timer中去处理。 + 遇到一些高延迟的函数,因为定时调用是在后台运行,并且他们的执行不会增加任何客户端的响应 阅读全文
posted @ 2017-12-30 19:04 mentalidade 阅读(2747) 评论(0) 推荐(0)
摘要:协程 1.例如当获取的数据没有前后依赖关系时,可以使用ngx.thread.spawn和ngx.thread.wait同时从数据库不同的库、表或者不同来源(mysql,redis等)获取数据。 https://github.com/openresty/lua nginx module ngxthre 阅读全文
posted @ 2017-07-19 19:46 mentalidade 阅读(425) 评论(0) 推荐(0)
摘要:结果: 具体请看文档:https://github.com/openresty/lua nginx module ngxnow 阅读全文
posted @ 2017-07-19 17:27 mentalidade 阅读(2666) 评论(0) 推荐(1)
摘要:nginx配置的server段: 如果直接调用http://wyc.com:8888/name 返回 将HOST修改为一个欺骗的host发送给代理服务器,调用http://wyc.com:8888/user 自定义header头 自定义的header头www,会默认被proxy_pass到后端,如果 阅读全文
posted @ 2017-07-13 15:48 mentalidade 阅读(806) 评论(0) 推荐(0)
摘要:http://www.cnblogs.com/lidabo/p/4169396.html 这个博主写的非常好 location: 先匹配普通location,再匹配正则表达式 1.而且选择了最大前缀匹配后,不能就停止后面的匹配,最大前缀匹配只是一个临时的结果,nginx 还需要继续检查正则locat 阅读全文
posted @ 2017-06-27 17:37 mentalidade 阅读(198) 评论(0) 推荐(0)
摘要:proxy_pass Nginx的proxy_pass将请求代理到其他的后端服务器。例如 上面请求http://localhost:9999/ttt/aaa/bbb,会匹配到/ttt进入,规则是去掉ttt,将后面的url和参数拼接到proxy_pass的后面,于是返回的 ,即location为/te 阅读全文
posted @ 2017-06-16 18:41 mentalidade 阅读(1530) 评论(0) 推荐(0)
摘要:降级 要做一个基于kong的降级先关服务。 网上找到一个用 balancer_by_lua 加上 https://github.com/rrfeng/lua resty upstream etcd 实现了基于 etcd 的简单服务发现。 然后如果后端不够稳定或者流量过高的时候可能会直接压垮,所以通常 阅读全文
posted @ 2017-06-13 20:00 mentalidade 阅读(672) 评论(0) 推荐(0)
摘要:+ 文档 lua_package_path可以配置openresty的文件寻址路径。官网文档如下: 然后require的字符串就会替换对应的问号?,一个文件就会去/foo/bar/下面寻找。 + example 在代码中require "controller.test",会依次根据package.p 阅读全文
posted @ 2017-06-07 17:49 mentalidade 阅读(19711) 评论(0) 推荐(0)
摘要:在本地开发中使用自己配置的域名例如: 配置在 ,`ping wuyachao.com`显示ip为127.0.0.1,在使用lua_resty_http时候,会报错 OpenResty使用的是Nginx的resolver,不能读取本地配置在/etc/hosts里面的域名 "nginx resolver 阅读全文
posted @ 2017-06-02 16:58 mentalidade 阅读(3484) 评论(0) 推荐(0)
摘要:在群里看到春哥发的,先记录下来。一切都以官网为准,以后安装部署生态会越来越完善的。 OpenResty 官方现在开始维护自己的打包虚机集合了,新的 linux 包仓库正在陆续登陆 openresty.org 官网。欢迎大家试用!原来老源的用户可以先禁用掉老的 openresty 源。 在 CentO 阅读全文
posted @ 2017-05-26 14:45 mentalidade 阅读(4217) 评论(0) 推荐(0)
摘要:redis自带的lua脚本 想要通过redis官方的lua脚本拓展来传递name,age等直接返回对应的值。如果传递name,age等redis的hash中存在的value,则返回其结果,如果不存在返回nil,使得传入和返回结果一一对应。 + redis的lua拓展自带了cjson等库,可以很方便的 阅读全文
posted @ 2017-05-04 20:06 mentalidade 阅读(13649) 评论(0) 推荐(0)
摘要:问题 1.openresty请求时,不能解析域名? openresty依赖配置里面的resolver 192.168.1.1; 2.文件上传是报错413 Request Entity Too Large 在配置文件的http{}段中加入 client_max_body_size 20m; 20m为允 阅读全文
posted @ 2017-04-17 04:51 mentalidade 阅读(514) 评论(0) 推荐(0)
摘要:1.启动一个nginx监听8888端口, p 指定工作目录 c 指定加载配置文件 在nginx.conf中,写一个server,进入lor项目的入口文件main.lua 2.main.lua执行run()方法,run()方法是app目录下的server.lua的app方法,app方法通过lor.in 阅读全文
posted @ 2017-03-14 20:01 mentalidade 阅读(374) 评论(0) 推荐(0)
摘要:本地虚拟机ip:192.168.3.2 开发环境ip:192.168.107.10 1.域名在虚拟机内部和外部解析到的ip不同? 可能是本地修改或者DNS服务器不同导致 1.访问一个域名,如wuyachao.com,查看 里面配置,查看域名是否指定到某一个ip上,然后查看DNS服务器。 2.然后查看 阅读全文
posted @ 2017-02-16 16:02 mentalidade 阅读(874) 评论(0) 推荐(0)
摘要:当web服务器收到静态的资源文件请求时,依据请求文件的后缀名在服务器的MIME配置文件中找到对应的MIME Type,再根据MIME Type设置HTTP Response的Content Type,然后浏览器根据Content Type的值处理文件。 对应项目名放置在conf下面,保存为conf文 阅读全文
posted @ 2017-01-04 21:22 mentalidade 阅读(1412) 评论(0) 推荐(0)