nginx日志如何只记录指定的几条url

nginx日志如何只记录指定的几条url,第1张

Nginx不能像你说的那样指定记录指定的URL,但是Nginx是死的人是活的

1:可以在程序中手动记录(一般)

2:可以在该目录下的页面加个链接引导其他域名(记得加上标识),在启用日志记录就能获取(方便)

3:写个程序筛选指定的URL来显示(麻烦)

URL负责找到服务器,到服务器上时解析靠server_name匹配Host2浏览器上的host默认会自动从URL上解析3nginx上host匹配不到server会走default_server处理请求。

-user USERNAME [GROUP]

解释:指定运行nginx的worker子进程的属主和属组,其中属组可以不指定

示例:user nginx nginx;

-pid DIR

解释:指定运行nginx的master主进程的pid文件存放路径

示例:opt/nginx/logs/nginxpid

-worker_rlimit_nofile number

解释:指定worker子进程可以打开的最大文件句柄数

示例:worker_rlimit_nofile 20480;

-worker_rlimit_core size

解释:指定worker子进程异常终止后的core文件,用于记录分析问题, 注意nginx用户要对目录有写权限,不然无法记录。

示例:worker_rlimit_core 50M; working_directory /opt/nginx/tem;

-worker_processes number | auto

解释:指定nginx启动的worker子进程数量

示例:worker_processes 4; worker_process auto;

-worker_cpu_affinity cpumask1 cpumask2

解释:将每个worker子进程与我们的cpu物理核心绑定

示例:

worker_cpu_affinity 0001 0010 0100 1000; 4个物理核心,4个worker子进程

worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000; 8物理核心,8

子进程

worker_cpu_affinity 01 10 01 10; 2物理核心,4子进程

备注:将每个worker子进程与特定的cpu物理核心绑定,优势在于:避免同一个worker子进程在不同的cpu核心上切换,导致缓存失效,降低性能;但是其并不能真正的避免进程切换

-worker_priority number

解释:指定worker子进程的nice值,以调整运行nginx的优先级,通常设定为负值,以优先调用nginx

示例:worker_priority -10;

备注:Linux默认进程的优先级是120,值越小越优先;nice设定范围为-20到+19

-work_shutdown_timeout time

解释:指定worker子进程优雅退出的超时时间

示例:worker_shutdown_timeout 5s;

备注:防止恶意请求,比如建立tcp连接后没有发请求或者没有回应,会在5s后关闭连接。避免占用系统资源。

-timer_resolution interval

解释:worker子进程内部使用的计时器精度,调用时间间隔越大,系统调用越少,有利于性能提升;反之,系统调用越多,性能下降

示例:worker_resolution 100ms;

-daemon on|off

解释:设定nginx的运行方式。默认为on,表示后台运行。off表示前台运行,会输出日志信息。前台用于调试,后台用于生产

-lock_file file

解释:负载均衡互斥锁文件存放路径

-use [ select | poll | kqueue | epoll | /dev/poll | eventpot ]

nginx使用何种事件驱动模型。默认配置无,建议不配置,让nginx自己选择。

-worker_connections number

worker子进程能够处理的最大并发连接数。默认1024,建议65535。Linux可以打开的最大文件句柄数是65535,设置65535可以保证即使只有一个子进程也可以充分利用系统资源。

-accept_mutex [ on | off ]

是否打开负载均衡互斥锁。默认关闭。当用户向nginx发起请求时,主进程会向所有子进程询问,空闲的子进程将处理进程。当互斥锁打开时,由互斥锁轮流分配任务给子进程,可以提高效率。

-accept_mutex_delay time

互斥锁延迟时间。在互斥锁打开时生效,当互斥锁分配某个请求给子进程时,如果子进程由于繁忙不能处理时,会在延迟时间结束后分配给下一个子进程。可以避免请求长时间等待。

-muti_accept [ on | off ]

默认关闭。nginx子进程在某一时刻只能同时处理一个请求。打开后可以在同一时刻处理多个请求。实际情况下对提升性能不是很明显。

-server_name name1 name2

匹配请求服务器的域名,比如: 段中,可以放的上下文环境是>

实际上你的rewrite也就是存在3和4会有冲突,如果保持你现在的重写风格不动,有一种简单的修改方式就是对第4的url写一个rewirte规则,并且把该规则放在你现在的规则之上,也就是如下的形式:

rewrite "^/dir/(\d+)$" "/dir/$1php" break;

rewrite "()$" "/$1php" break;

这种重写方式在规则比较简单的时候是可以满足的,但是一旦服务多了,url的种类多了可能就不能满足了。建议按照访问的模块不同对rewrite的rul进行分类,然后重写。

URL重写有利于网站首选域的确定,对于同一资源页面多条路径的301重定向有助于URL权重的集中

Nginx URL重写(rewrite)介绍

和apache等web服务软件一样,rewrite的组要功能是实现RUL地址的重定向。Nginx的rewrite功能需要PCRE软件的支持,即通过perl兼容正则表达式语句进行规则匹配的。默认参数编译nginx就会支持rewrite的模块,但是也必须要PCRE的支持

rewrite语法格式及参数语法说明如下:

rewrite <regex> <replacement> [flag];

flag标记说明:

last #本条规则匹配完成后,继续向下匹配新的location URI规则

break #本条规则匹配完成即终止,不再匹配后面的任何规则

redirect #返回302临时重定向,浏览器地址会显示跳转后的URL地址

permanent #返回301永久重定向,浏览器地址栏会显示跳转后的URL地址

rewrite参数的标签段位置:

server,location,if

例子:

说明:

rewrite为固定关键字,表示开始进行rewrite匹配规则

regex部分是 ^/() ,这是一个正则表达式,匹配完整的域名和后面的路径地址

replacement部分是 >

问题解决非常简单,在宝塔服务器站点配置中,对nginx站点配置增加如下配置信息:

1、location 后面的/api是匹配本地url中带有指定目录所用;

2、 rewrite ^/api/()$ /$1 break; 这一段是用来进行匹配修改的,意思是去除掉后面的api

3、 proxy_pass >

以上就是关于nginx日志如何只记录指定的几条url全部的内容,包括:nginx日志如何只记录指定的几条url、nginx匹配host和url、nginx核心参数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9571351.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存