openresty目录结构与介绍

openresty文件夹


其中nginx是最经常修改配置的文件夹

nginx文件夹

图片说明
logs文件夹: 存放日志文件:error.log, access.log, nginx.pid
sbin文件夹:存放nginx启动程序,一般先添加path
conf文件夹:存放nginx配置文件,例如nginx.conf等,我们添加的waf文件也放在了这里
html文件夹:存放nginx服务的网页程序,index.html等

conf文件夹

图片说明
nginx.conf为nginx的启动默认配置文件,启动时可选择更改
waf文件夹:存放waf程序

waf文件夹:(此waf来源GitHub,也有很多更加完善的waf项目)

图片说明
rule-config文件夹:存放规则文件,以正则表达式的格式存放
lib.lua文件:存放基本函数,如获取用户ip等
config.lua文件:存放开关,on->开启, off->关闭
init.lua文件:存放检查请求的函数,返回判断结果,此函数require以上两个文件,正则表达式从rule-config文件夹中获取
access.lua文件:启动检查,规定检查函数的执行顺序,返回判断结果,根据此结果判断是否拦截请求

日志行为

若在config.lua文件夹中规定:
图片说明
/tmp中保存的日志实例(此日志由waf程序创建,在waf/lib.lua文件中可以更改日志的格式):
图片说明

而在nginx/logs文件夹中的日志为nginx创建
access.log:访问日志,
error.log:错误日志,

access_log path [format [buffer=size] [gzip[=level]] [flush=time] [if=condition]]; # 设置访问日志
access_log off; # 关闭访问日志

path 指定日志的存放位置。

format 指定日志的格式。默认使用预定义的combined。

buffer 用来指定日志写入时的缓存大小。默认是64k。

gzip 日志写入前先进行压缩。压缩率可以指定,从1到9数值越大压缩比越高,同时压缩的速度也越慢。默认是1。

flush 设置缓存的有效时间。如果超过flush指定的时间,缓存中的内容将被清空。

if 条件判断。如果指定的条件计算为0或空字符串,那么该请求不会写入日志。

nginx日志详见:https://blog.51cto.com/longlei/2132170

nginx.conf文件

图片说明
此段设置让nginx率先征得waf程序的同意后再放行用户,请根据自己安装文件的路径更改

    include       mime.types;
    default_type  application/octet-stream;
    lua_shared_dict limit 10m;
    lua_package_path "/usr/local/openresty/nginx/conf/waf/?.lua;/usr/local/openresty/lua-resty-core/lib/?.lua;;";
    init_by_lua_file "/usr/local/openresty/nginx/conf/waf/init.lua";
    access_by_lua_file "/usr/local/openresty/nginx/conf/waf/access.lua";

更加详细的nginx.conf的各种功能的配置不再赘述,看官请移步这里:https://blog.csdn.net/weixin_42167759/article/details/85049546