admin管理员组文章数量:1794759
nginx access.log 不写入日志问题
nginx access.log 不写入日志问题
兄弟们,理了个大普,我以为可能是权限什么的问题导致不能写入日志,实际上 keepalived 只会绑定一台机器
故事是这样的:线上出了个小问题,本想着看下两台nginx服务器日志的,突然发现有一台机器的日志好多天没写入了,于是开始更改权限 chmod 777 access.log 发现还是不能写入,后来又翻了翻我自己的笔记看看权限是不是有其它问题,笔记如下:
#Operation not permitted 删除不了,不能修改文件 # 查看文件权限 lsattr access.log #chattr命令用于修改文件属性,chattr命令需要root权限。 chattr access.log lsattr 文件属性说明: a: append only; 系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件。 c: compressed; 系统以透明的方式压缩这个文件。从这个文件读取时,返回的是解压之后的数据;而向这个文件中写入数据时,数据首先被压缩之后才写入磁盘。 d: no dump; 在进行文件系统备份时,dump程序将忽略这个文件。 i: immutable; 系统不允许对这个文件进行任何的修改。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件。 # end # linux 有两套权限 rwx和selinux权限 getenforce 查看是否打开状态 setenforce 1是启用 setenforce 0 是放开(会写入日志,不会警告) ls -Z 查看 unconfined_u:object_r:usr_t:s0 权限等然后当我排查并且设置后还是不会写入,如图 其实正常情况下是会写入的,后来我尝试单独访问,在另外一台服务器上 curl 发现是会写入日志的 其实分析到这里就能想到问题了,我们有一个 keepalived 的应用,是一直没有转发到这台机器上来,后来我把这台机器的 keepalived 应用重启了 systemctl restart keepalived,然后就发现日志在写入了。
完了后我跟领导汇报后领导跟我来了句 “那这样52上还会有日志吗?”,我去另外一台服务器一看还真没写入了,我当时人都傻了。
版权声明:本文标题:nginx access.log 不写入日志问题 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686966449a123312.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论