026 nginx引用lua遇到的坑

2021-09-07 17:56:31 字數 2780 閱讀 8244

server 

error_page 500 502 503 504 = /error500.html;

location = /error500.html

location ~ ^/get_json '; #json測試

}}

二、

]$ sudo luarocks list

installed rocks:

----------------

lua-resty-iputils

0.3.0-1 (installed) - /usr/local/lib/luarocks/rocks

luasocket

3.0rc1-2 (installed) - /usr/local/lib/luarocks/rocks

lyaml

6.1.1-4 (installed) - /usr/local/lib/luarocks/rocks

]$ sudo luarocks remove luasocket

]$ sudo vim nginx.conf

error_log /data/log/nginx/error.log debug #把debug日誌開啟

]$ sudo /opt/nginx/sbin/nginx -t

the configuration file /opt/nginx/conf/nginx.conf syntax is ok

nginx: [error] init_by_lua_file error: /opt/nginx/conf/lua/resty/influxdb.lua:9: module 'socket' not found:

no field package.preload['socket']

no file '/opt/nginx/conf/lua/socket.lua'

no file './socket.lua'

no file '/usr/local/share/luajit-2.0.4/socket.lua'

no file '/usr/local/share/lua/5.1/socket.lua'

no file '/usr/local/share/lua/5.1/socket/init.lua'

no file '/opt/nginx/conf/lua/socket.so'

no file './socket.so'

no file '/usr/local/lib/lua/5.1/socket.so'

no file '/usr/local/lib/lua/5.1/loadall.so'

stack traceback:

[c]: in function 'require'

/opt/nginx/conf/lua/resty/influxdb.lua:9: in main chunk

[c]: in function 'require'

/opt/nginx/conf/lua/init_by_lua.lua:25: in main chunk

configuration file /opt/nginx/conf/nginx.conf test failed

]$ sudo /opt/nginx/sbin/nginx -s reload #但是照樣可以reload,而且日誌沒有任何報錯

]$ sudo /opt/nginx/sbin/nginx -d #下邊的原先為json改為json3後記憶體內容也進行了更新

location ~ ^/get_json ';

}}nginx: [error] init_by_lua_file error: /opt/nginx/conf/lua/resty/influxdb.lua:9: module 'socket' not found:

no field package.preload['socket']

no file '/opt/nginx/conf/lua/socket.lua'

no file './socket.lua'

no file '/usr/local/share/luajit-2.0.4/socket.lua'

no file '/usr/local/share/lua/5.1/socket.lua'

no file '/usr/local/share/lua/5.1/socket/init.lua'

no file '/opt/nginx/conf/lua/socket.so'

no file './socket.so'

no file '/usr/local/lib/lua/5.1/socket.so'

no file '/usr/local/lib/lua/5.1/loadall.so'

stack traceback:

[c]: in function 'require'

/opt/nginx/conf/lua/resty/influxdb.lua:9: in main chunk

[c]: in function 'require'

/opt/nginx/conf/lua/init_by_lua.lua:25: in main chunk

]$ sudo curl -h "host:venus.jyall.com" "127.0.0.1/get_json" #但實際curl的時候還是最老的內容

總結:(1)開啟nginx debug(2)然後sudo /opt/nginx/sbin/nginx -t進行測試查詢是否有問題(有問題需要及時修復)。

LUA表的引用理解

lua中引用型別都是分配在堆上的 因此,我們在使用lua的table時,可盡可能的使用表的引用,而不需要拷貝表裡的元素 比如,通過rpc協議傳來乙個表a,我們想要快取這個表,只需要儲存該錶的引用 而不需要再重新生成乙個新錶然後將表a的元素乙個個拷過來 function func local t 生成...

OC 026 記憶體管理中迴圈引用的問題

記憶體管理中有乙個迴圈引用的問題出現,雖然 看似沒有任何記憶體問題,但是由於互相引用,而造成了記憶體洩露。沒能正確的 記憶體。所以解決的辦法是在乙個完成的迴圈體內其中乙個物件中,讓其不加入記憶體管理 來破壞相互引用的問題。在迴圈引用中,需要用到 class 來告訴編譯器有這個類,不要再用 impor...

ios 遇到引用 a庫遇到的問題

最近ios開發專案,遇到了,在device執行和模擬器執行都需要引用.a庫,兩個庫的名字相同,分別放在了連個資料夾下面。但是執行起來的時候總是報錯。說明是引用庫的問題。因為是在真機執行可以通過,但是模擬器編譯出錯,說是引用庫的指示問題。聽取其他同時的意見刪除了,資料夾指引真機的庫,在模擬器環境下編譯...