nginx中lua_nginx_module模块如何能在修改了lua文件后无需重启即可自动生效:报错
RT
我希望在修改了某一个lua文件之后,无需reload,而是通过某个url让nginx自动清除某个lua文件的cache而重新去读取lua文件。
不知道我的描述够不够清楚,请各位大神帮帮忙
貌似要把cache关了吧,好像还没有自动检测文件并重新加载的功能的。######回复 @无名码农 : 请问有没有办法在nginx中遍历所有的lua 虚拟机 即遍历所有的lua State *L######回复 @Thomas-yang : 我的ngx_lua_module跟lua_ngx_module不一样。 你可以参考下我的: https://github.com/hehaiqiang/ngx_lua_module######回复 @无名码农 : 请问我现在在nginx的ngx_lua_module0.7.9的基础上修改,如何做到可以判断lua文件是否修改呢?我在拜读您的lua_ngx_module源码######回复 @无名码农 : 请问 你是怎么判断的呢,lua_nginx_module即使在修改了lua文件之后,依旧会去读取cache中的内容,而不会去读lua文件,如果是每次都去判断文件是否被修改,及将cache 置于off即可每次都去读文件这样带来的性能会查很多。 请问你是怎么做到的?######回复 @Thomas-yang : 是的。 我的ngx_lua_module是当收到请求时自动判断该脚本文件是否已经修改,然后重新加载并更新cache,其实你也可以按照这种方法去修改lua_nginx_module模块。######有权限的话 使用php执行相关命令就可以了######我也不太好解释,简单来说就是执行系统命令,比如win下的cmd这些,linux也一样可以使用php执行命令,但是可能会有安全问题######我想知道大概的思路是什么样的,怎么通过PHP来执行啊?个人觉得清楚cache是lua源码中的代码,PHP未必能与源码进行交互######
可以设置 lua_code_cache 参数
一般放在nginx.conf的http里面,设置lua程序是否缓存,默认是开启的,
开发模式关闭缓存即可:lua_code_cache off
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。