openresty配置
openresty配置的一些问题总结!
环境
win10下的linux子系统ubuntu(wsl)
openresty版本:ngx_openresty-1.7.7.2.tar.gz
wsl安装
请移步 {% post_link wsl笔记 %}
openresty安装
或者参考 {% post_link openresty安装笔记 %}
openssl版本问题
需要指定旧版本,推荐在编译 Nginx 时指定 OpenSSL 源码目录,而不是使用系统自带的版本,这样更可控。
Lua模块安装
安装 LuaRocks
LuaRocks: Lua 的模块安装和部署工具
apt-get install luarocks
安装 luasocket
lua 远程调试引入的
require("mobdebug").start()需要 socket注:Lua 的 Remote Debug 远程调试 现在还搞不定,此处占个坑。
luarocks install luasocket
openresty使用
nginx常用命令
启动:
指定配置文件
nginx -p `pwd`/ -c conf/nginx.conf
停止:
nginx指定配置文件的,停止时也需指定参数
nginx -p `pwd`/ -c conf/nginx.conf -s quit
nginx.conf 配置
正则匹配路径
模式 含义 location = /uri = 表示精确匹配,只有完全匹配上才能生效 location ^~ /uri ^~ 开头对URL路径进行前缀匹配,并且在正则之前。 location ~ pattern 开头表示区分大小写的正则匹配 location ~* pattern 开头表示不区分大小写的正则匹配 location /uri 不带任何修饰符,也表示前缀匹配,但是在正则匹配之后 location / 通用匹配,任何未匹配到其它location的请求都会匹配到,相当于switch中的default location ~ ^/api/([-_a-zA-Z0-9]+) {
# 准入阶段完成参数验证
access_by_lua_file nginx_test_server/access_check.lua; #内容生成阶段
content_by_lua_file nginx_test_server/$1.lua;
}
开发调试时取消缓存
# 这里设置为 off,是为了避免每次修改之后都要重新 reload 的麻烦。
# 在生产环境上务必确保 lua_code_cache 设置成 on。
lua_code_cache off;
http 模块 报错 bad argument #2 to 'set_keepalive' (number expected, got nil)
参考:bad argument #2 to 'set_keepalive' (number expected, got nil)的解决办法
在关联数组中多传一个参数keepalive=false 即
{
method = “GET”,
path = requestBody,
keepalive=false
}
lua 的一些坑
openresty/lua-resty-redis 的 批量查询 返回值问题
A non-nil Redis "bulk reply" results in a Lua string as the return value. A nil bulk reply results in a
ngx.nullreturn value.A nil multi-bulk reply returns in a
ngx.nullvalue.如果使用批量查询如mget,查不到数据会返回 ngx.null
OpenResty缓存
需要先在 nginx.conf 里面的修改 ,这个 cache 是 Nginx 所有 worker 之间共享的
lua_shared_dict my_cache 128m;
openresty配置的更多相关文章
- 基于openresty配置https访问
安装方法:http://openresty.org/cn/linux-packages.html 1. openssl的版本信息 [root@localhost conf]# openssl vers ...
- openresty 配置 mongodb 可操作插件
1.下载lua-resty-mongol https://github.com/bigplum/lua-resty-mongol 2.配置_mongo.conf文件,在conf创建_mongo.con ...
- Openresty 进行路由系统设计
1.系统基础设计图为: 用户通过Http访问Openresty(Nginx + Lua), 其中Nginx虚拟主机中配置文件进行Lua脚本加载. LUA通过nginx内置变量或者http请求中变量来区 ...
- 使用ZeroBrane Studio调试Openresty lua脚本
介绍 ZeroBraneStudio 作为轻量级.跨平台的Lua IDE,已被广泛用来调试各种Lua引擎游戏框架.Openresty.Wireshark脚本等等. Openresty 是一个建立在Ng ...
- openresty 集成 sentry 异常系统
sentry 是一个方便的错误异常追踪系统,同时社区也提供了openresty 的lua 包,使用docker-compose 进行测试 备注: sentry 部分的配置来自官方文档 环境准备 doc ...
- 使用prometheus+ grafana+nginx-module-vts 模块监控openresty
nginx-module-vts 是一个很不错的nginx 模块,我们可以用来,方便的分析系统的请求状态 同时支持基于prometheus 的监控, 我参考openresty 的docker镜像已 ...
- openresty + lua 2、openresty 连接 redis,实现 crud
redis 的话,openresty 已经集成,ng 的话,自己引入即可. github 地址:https://github.com/openresty/lua-resty-redis github ...
- docker 安装 openresty
文章来源: 1.拉取镜像 # docker pull openresty/openresty 2.启动openresty # docker run -it --name openresty -p : ...
- Nginx 配置埋点js日志采集
页面埋点&nginx日志采集 页面(web容器:httpd/nginx负载均衡 + apache server)<===> 日志采集服务器(nginx服务器) 通过某个页面跳转到我 ...
随机推荐
- automaticallyAdjustsScrollViewInsets
参考链接: https://www.jianshu.com/p/a1987a7c11ba
- Python对 Excel 的常用操作
几个常用的对象 Workbook:工作簿,一个包含多个Sheet的Excel文件 Worksheet:工作表,一个Workbook有多个Worksheet,如"Sheet1",&q ...
- 使用python对整个网页进行截图
方法一.使用PyQt4的QtWebKit组件 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ...
- echars line 底部图例强制不换行(滚动),修改图例样式
{ grid: { left: '5px', right: '10px', top: '10px', bottom: '40px', containLabel: true }, tooltip: { ...
- 剑指Offer-30.连续子数组的最大和(C++/Java)
题目: HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决.但是,如果向量中 ...
- 微信小程序图像增强img.superresolution接口
整体流程: 获得access_token 调用img.superresolution得到media_id 根据media_id下载图片 注:虽然以下的几个接口都是服务端API,但是我都是在客户端调用的 ...
- JS做的类似腾讯专题图片播放器,大家可以一起来改进!
我是一个应届生,来公司不久,根据需求,网站需要一个专题图片轮播的页面.网上确实有很多现成的插件,但是,作为一个JS还不是很牛的应届生,我决定自己写一个! 话说忽然想到做个这个还真不容易,一时思绪理不清 ...
- 我用python训练了一个拳皇模型,从此在各地游戏厅再也没输过!
从世界瞩目的围棋游戏 AlphaGo 突然袭来的回忆杀~ 今天为大家介绍一个在街机游戏<街头霸王 3>中进行模拟来训练改进强化学习算法的工具包.不仅在 MAME 游戏模拟器 ...
- css的伪元素 ::after ::before 和 图标字体的使用
浅谈css的伪元素::after和::before css中的::after和::before已经被大量地使用在我们日常开发中了,使用他们可以使我们的文档结构更加简洁.但是很多人对::after和 ...
- 扎心一问!你凭什么成为top1%的Java工程师?
目录 1.解决生产环境里的突发故障 2.对棘手的线上性能问题进行优化 3.锻造区别于普通码农的核心竞争力 4.打磨架构设计能力 5.你凭什么成为 top1%? 你工作几年了? 是否天天CRUD到吐 ...