执行logrotate /etc/logrotate.conf 需要说明的是sharedscripts,我在前面Nginx的例子里声明日志文件的时候用了星号通配符,也就是说这里可能涉及多个日志文件,比如:access.log和error.log。sharedscripts的作用是在所有的日志文件都轮转完毕后统一执行一次脚本。如果没有配置这条指令,那么每个日志文件轮转完毕后都会执行一次脚...
access_log 指令用来指定访问日志文件的存放路径(包含日志文件名)、格式和缓存大小,语法:access_log path [format_name [buffer=size | off]]; 其中path 表示访问日志存放路径,format_name 表示访问日志格式名称,buffer 表示缓存大小,off 表示关闭访问日志。 log_format 使用示例:在 access.log 中记录客户端 IP 地...
这样可以使一个HTTP请求的处理过程由很多模块参与处理,每个模块只专注于一个独立而简单的功能处理,可以使性能更好、更稳定,同时拥有更好的扩展性。OpenResty在HTTP处理阶段基础上分别在Rewrite/Access阶段、Content阶段、Log阶段注册了自己的handler,加上系统初始阶段master的两个阶段,共11个阶段为Lua脚本提供处理介入的能力。
但是,比较坑爹的是,log_by_lua 不像 access log,可以多层级使用。log_by_lua 在某层使用了之后,上层的 log_by_lua 就对此一层无效了。比如 /v1/test 接口添加了 log_by_lua, 那么 http 或者 server 里添加的 log_by_lua 在接受/v1/test接口的请求时都不会被用到。 正是因为这个坑,浪费了我不少的...
access_log logs/access.log main; sendfile on; keepalive_timeout65; upstream servers{ server s101:80weight=1; server s102:80weight=1; } map $http_x_forwarded_for $clientRealIp {~^(?P<firstAddr>[0-9\.]+),?.*$ $firstAddr;
OpenResty在HTTP处理阶段基础上分别在Rewrite/Access阶段、Content阶段、Log阶段注册了自己的handler,加上系统初始阶段master的两个阶段,共11个阶段为Lua脚本提供处理介入的能力。下图描述了OpenResty可以使用的主要阶段: OpenResty将我们编写的Lua代码挂载到不同阶段进行处理,每个阶段分工明确,代码独立。
{return403;}location~.*\.(gif|jpg|jpeg|png|bmp|swf)${expires30d;error_log/dev/null;access_log/dev/null;}location~.*\.(js|css)?${expires12h;error_log/dev/null;access_log/dev/null;}access_log/www/wwwlogs/xxxxx.com.log;error_log/www/wwwlogs/xxxxx.com.error.log;}...
''$request_time $bytes_sent $request_length "$request_body" "$resp_body"';access_log logs/access.log main;sendfile on;keepalive_timeout65;server{listen80;server_name localhost;access_log logs/access.index.log log_resp_body;lua_need_request_body on;set$resp_body"";body_filter_by_lua ...
Lua中有比较多常用且实用的指令,接下来将介绍常用的access_by_lua_xxx、content_by_lua_xxx、log_by_lua_xxx、lua_shared_dict、lua_package_path、lua_code_cache、init_worker_by_lua_file指令。 access_by_lua_xxx access_by_lua支持将要执行的lua代码封装到文件或代码块中,分别对应着access_by_lua_file和...
access_log path[format[buffer=size][gzip[=level]][flush=time][if=condition]]; 其中,path表示日志文件的本地路径;format表示日志输出的格式名称。定义日志输出格式的配置指令为log_format,它的完整格式如下: 代码语言:javascript 复制 log_format name string...; ...