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. 怎樣使留言的數據與登錄的用戶名,密碼保持一致(在數據庫上是一行的)。2. java - 輸出4個不相等整數之間所有任意三個整數的乘積3. javascript - 一排三個框,各個框的間距是15px,距離外面的白框間距也是15px,這個css怎么寫?4. javascript - jqery 適應輪播,哪位前輩可以幫助小弟按照下面圖片寫一個大概例子,小弟在此跪謝!5. css3 - rem布局下,用戶瀏覽器的最小字號是12px怎么辦?6. css如何實現兩欄布局,左邊固定寬度,右邊寬度自適應,且高度和瀏覽器當前高度一致?7. css3 - CSSComb for Sublime Text 在 Windows 下無法使用。8. javascript - nodejs中使用request庫怎么抓取網頁中的圖片9. mysql money 插入數據為什么報錯?10. angular.js - 百度爬蟲如何處理“#”符號?
