nginx+slb (13 Permission denied)日志无限输出

环境:

服务部署了两台,前后端通过nginx实现交互,服务的负载均衡采用的阿里SLB

问题:

服务器A:nginx/logs下的access.log日志不断输出,且ip号段为100.120.0.0/16和100.121.0.0/16
服务器B:nginx/logs下的access.log/error.log日志不断输出,ip号段为100.120.0.0/16和100.121.0.0/16,并且error.log日志已经将100g磁盘占满。

缘由及方案:

1.1 access.log持续输出:

原因:

阿里控制台SLB默认开启健康监测,会持续按照默认配置发送请求,请求的结果也就会被access.log记录
不过该日志均以极简模式输出(每日100M左右),理论上短期不会对服务器造成太大压力。

解决思路:

1、日志切割,定时清理历史数据(推荐)。
2、修改SLB检测端口、检测路径(有一定风险,不太推荐)
3、日志忽略SLB检测记录(麻烦,不推荐)
4、关闭SLB健康监测(有风险,不推荐)

1.2 error.log 持续输出

原因:

error.log输出的日志重点在于(13:Permission denied)
所以问题出在文件及路由的访问权限上:
SLB进行健康监测,请求打到nginx中所配置的/ 、/index等location模块时被拒绝访问!!

解决思路:

nginx的用户分为“启动用户”和“工作用户”,当使用root用户进行nginx启动且配置文件中的user未配置时:
启动用户为root,工作用户为nobody。
所有的请求打到指定location时便会出现(13:Permission denied)
所以需要在nginx的配置文件中将user配置为启动用户名称,然后重启nginx服务即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值