问题标签 [openresty]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
nginx - 具有单独 lua_package_path 变量的 NGINX 虚拟主机
我正在尝试将两个(Openresty)Lua Web 应用程序作为来自 NGINX 的虚拟主机提供服务,它们都需要自己独特的lua_package_path
,但很难正确配置。
如果您定义
http
两次(每个主机一次),您将收到此错误:[emerg] "http" directive is duplicate in example.conf
如果你定义块
lua_package_path
内部server
,你会收到这个错误:[emerg] "lua_package_path" directive is not allowed here in example.conf
如果您
lua_package_path
在一个块中定义两次http
(无论如何这没有任何意义),您将收到此错误:[emerg] "lua_package_path" directive is duplicate in example.conf
为多个(Openresty)Lua 应用程序提供服务的最佳实践是什么,它们lua_package_path
是同一 IP 和端口上的虚拟主机?
nginx - Openresty 火炬 GPU 模块加载问题
我正在使用带有lua的openresty。当我在没有割炬的情况下装载手电筒时,cunn(GPU)工作正常。但它无法加载 cutorch 模块。
这是我的 nginx.conf
这是我的评估.lua 代码
我正在尝试使用以下命令运行模型
它开始正常但是当我发送curl
请求时
我收到以下错误。
没有cutorch,模型运行良好,例如如果我删除
并替换行
经过
它工作正常。此外,我尝试使用运行 evaluate.lua th
,它在 cutorch 和 cunn 包中运行良好。
nginx - nginx access_by_lua 不尊重 lua_package_path
我有一个反向 nginx 代理在 nginx.config 中运行以下内容:
然后在服务器中的多个位置:
我在/etc/nginx/使用 nginx 和 lua 配置运行这个 centos 7,以及我在 lua 包路径中给出的内容。当我运行 nginx 时,可以正常导入 lua 文件(在 lua_package_path 中找到它),但是由于某种原因,当我运行 xxx 服务时,它会失败并显示以下内容:
出于某种原因,它会在 /usr/share/nginx 中查找实际位于 /etc/nginx 中的 lua 文件:**file "/usr/share/nginx/nginx_v4.lua": 无法打开
/usr/share/nginx/nginx_v4.lua:没有这样的文件或目录**
知道为什么吗?在我硬编码路径之前,这不起作用。
sockets - 如何使用 Nginx/Openresty 将 tcp 流多路复用到多个 websocket 客户端?
我有一个设置,其中一些 TCP 客户端连接到我服务器上的程序。我试图在两者之间插入 nginx,以便 tcp 连接来自客户端 - > nginx - > 程序。这样我就可以利用流并让 websocket 客户端请求流的数据之一。
我已经能够使用https://github.com/openresty/stream-lua-nginx-module创建一个 TCP 监听套接字,它接收数据然后使用 ngx.socket.tcp() 连接到外部程序。而且我正在使用 lua-resty-websocket 创建一个 websocket 服务器(每个会话需要连接到一个流,并且多个这样的会话可能连接到一个流)。
websocket 上下文连接到该流的方法是什么?
regex - Nginx - 正则表达式位置
所以我有一个基于正则表达式的位置规则,如下所示:
我可以检查正则表达式的哪一部分产生了匹配吗?这意味着如果网址像
比我想知道它是由
有办法吗?
我正在 AWS 上的 Debian VM 上运行用 lua-module 编译的最新 nginx。
- - - - - - 更新 - - - - - - -
我正在考虑使用内部位置,但它会很难看:
现在我有 60 种正则表达式模式。这种方法可以吗?
json - openresty 上游 postgres 调用一个函数,该函数本身返回一个 json
假设您有一个函数返回在您的 postgreSQL 数据库中定义的 json。
此外,您有一个 Nginx,包括带有以下配置文件的 Postgres Nginx 模块(openresty):
打开rds_json ;所有引号都在输出中转义,如下所示:
如果我将rds_json 设置为关闭;我收到了格式正确的 json,但返回字符串以一些尴尬的符号开始和结束:
有没有办法摆脱结果对象中的附加符号或在第一种情况下不转义所有双引号?
谢谢
nginx - 无法使用 lua-resty-cookie 获取 cookie
我正在尝试在 openresty 项目中使用 lua-resty-cookie。我很难在一个请求中使用 lua-resty-cookie 方式获取 cookie 密钥。
nginx.conf:
我得到的是“失败:在当前请求中找不到 cookie\x{0a}”
我做错了吗?谢谢您的帮助。
openresty - 我可以在 openresty nginx http 块中使用 lua
我想请求一些 api 并将响应设置为 nginx 变量。但它说"set_by_lua_block" directive is not allowed here
。我怎样才能做到这一点?
nginx - 我可以用 Lua 修改内置的 Nginx 变量吗?
nginx 日志格式为:
我设置了 log_by_lua_file
和 log.lua 内容:
和 access.log 更改
如何更改像 $request 这样的 nginx 内置变量?我想将 nginx 日志之前的“GET /test/client.php HTTP/1.1”更改为 access.log
ngx.var.request = "xxxx" 将是错误的:
但我不知道如何用 ngx.req.set_header 更改它
谁能告诉我如何改变它?
nginx - 无法在 Lua 代码中使用环境变量
我有一些 Lua 代码,在我的 openresty nginx.conf 文件中使用。此 Lua 代码包含以下几行:
只是出于测试原因,我尝试检查是否设置了 PATH 变量,并且由于某种原因,断言语句没有通过。我在控制台中看到:
未设置环境变量 PATH
但是,当我运行这个
我明白了,这个变量确实有一些价值。那么,这有什么问题,我该如何解决?