nginx - openresty无法使用require
问题描述
不使·access_check.lua的时候,程序运行正常,使用就会出现错误。环境使用了docker的openresty/openresty官方镜像。
nginx.conf配置如下:
worker_processes 1;error_log logs/error.log;events { worker_connections 1024;}http { lua_package_path 'lua/?.lua;app/?.lua'; lua_code_cache off; server {listen 6699;charset utf-8;#lua_need_request_body on;location / { default_type text/html; content_by_lua_block {ngx.say('hello fatrbaby') }}location ~ ^/api/([-_a-zA-Z0-9/]+) { access_by_lua_file lua/access_check.lua; content_by_lua_file lua/$1.lua;} }}
access_check.lua代码如下:
local validator = require('lib.validator')local args = ngx.req.get_uri_args()if not validator.is_number(args.a, args.b) then ngx.exit(ngx.HTTP_BAD_REQUEST) returnendngx.print(package.path)
错误日志如下:
2017/04/26 09:11:34 [error] 216#216: *1 lua entry thread aborted: runtime error: /usr/local/var/learn/lua/access_check.lua:1: module ’lib.validator’ not found: no field package.preload[’lib.validator’] no file ’lua/lib/validator.lua’ no file ’app/lib/validator.lua’ no file ’/usr/local/openresty/site/lualib/lib/validator.so’ no file ’/usr/local/openresty/lualib/lib/validator.so’ no file ’./lib/validator.so’ no file ’/usr/local/lib/lua/5.1/lib/validator.so’ no file ’/usr/local/openresty/luajit/lib/lua/5.1/lib/validator.so’ no file ’/usr/local/lib/lua/5.1/loadall.so’ no file ’/usr/local/openresty/site/lualib/lib.so’ no file ’/usr/local/openresty/lualib/lib.so’ no file ’./lib.so’ no file ’/usr/local/lib/lua/5.1/lib.so’ no file ’/usr/local/openresty/luajit/lib/lua/5.1/lib.so’ no file ’/usr/local/lib/lua/5.1/loadall.so’stack traceback:coroutine 0: [C]: in function ’require’ /usr/local/var/learn/lua/access_check.lua:1: in function </usr/local/var/learn/lua/access_check.lua:1>, client: 172.17.0.1, server: , request: 'GET /api/add?a=1&b=6 HTTP/1.1', host: 'localhost:6699'
项目目录结构如下:

问题解答
回答1:已经解决了这个问题
相关文章:
1. javascript - nodejs使用mongoose连接数据库,使用post提交表单在后台,后台处理后调用res.redirect()跳转界面无效?2. thinkPHP5中获取数据库数据后默认选中下拉框的值,传递到后台消失不见。有图有代码,希望有人帮忙3. windows-7 - win7下使用cmder,如何设置vim的tab为4个空格?4. javascript - CSS图片轮播显示问题5. javascript - ajax 图片文件与文本框数据一起提交上传处理6. javascript - 关于js高级程序中的问题7. MySQL的SELECT...FOR UPDATE究竟起什么作用8. mysql 怎么做到update只更新一行数据?9. python 多进程 或者 多线程下如何高效的同步数据?10. javascript - 项目用IE浏览器打开修改前端内容,后台数据修改了,但是前端页面内容不变,用谷歌浏览器测试前端页面可以刷新,求大神解决。

网公网安备