不会,rewrite_by_lua_file和log_by_lua_file是两个独立的nginx配置,执行时线性的,一个完成后不会自动执行另一个。
rewrite_by_lua执行完成后,不会再继续执行log_by_lua
rewrite_by_lua_file
用于请求重写,执行完后nginx会继续处理请求。
log_by_lua_file
用于访问日志记录,是在请求处理结束后,nginx将访问记录写入日志前执行的。
所以:
rewrite_by_lua_file执行完后,不会自动执行log_by_lua_file。
rewrite_by_lua_file执行完成后,nginx会继续处理请求。
请求处理完后,nginx才会执行log_by_lua_file来记录访问日志。
两个lua脚本的执行时机不同:
rewrite_by_lua_file在请求重写阶段执行
log_by_lua_file在请求结束后记录日志阶段执行
它们的执行不依赖于对方,是nginx在不同时机调用来完成不同任务的。