使用独立主机或者云主机或者VPS经常遇到的一个问题就是由于硬盘空间占满而导致的各种故障,而导致硬盘占满绝大多数时候是由于日志,本文详细总结了LNMP和LNAMP中所有服务的日志相关的配置。
Apache
错误日志
在httpd.conf添加
ErrorLog off
无此指令默认生成日志。
访问日志
删除或者注释CustomLog指令,无此指令默认不生成日志。
apache用#注释
Nginx
错误日志
http段添加
error_log off
仍会生成error.log,但是空的
访问日志
http段添加
access_log off
之后虚拟主机默认不生成日志,但仍可通过在server段添加access_log指令来启用部分网站的访问日志。
nginx用#注释
MySQL
慢查询日志
注释或者删除my.cnf中的log-slow-queries指令,无此指令默认不生成日志。
二进制bin-log日志
注释或者删除my.cnf中的log-bin指令,无此指令默认不生成日志。
错误日志
log-error=/dev/null,无此指令默认生成日志。
(所有的日志都可以指向到/dev/null来给变相禁止掉,但是这是一种很挫的方式,其他的日志指令都提供了禁止的参数,但是这条配置我找了半天没有找到,很可能是没有)
MySQL用;或#注释配置
php-fpm
如果php-fpm没有配置日志相关的指令,所有的日志默认都不生成。配置文件一般为php-fpm.conf。
慢执行日志
slowlog
访问日志
access.log
错误日志
error_log
php-fpm用;注释配置
日志在有些时候是很有用的,比如访问日志可以用来分析WEBSHELL和黑客入侵和蜘蛛抓取情况,错误日志可以用来分析服务启动失败的原因,慢查询和慢执行日志可以用来优化程序,ETC。
但是有些情况是不得不考虑的,一是受硬盘空间的限制,二是对于很多用户还没有能力来分析日志(开了日志也用不到)。
除非可以确定日志是能用得到的,并且硬盘空间允许,否则建议关闭日志,以避免各种意想不到的突如其来的麻烦。
很多日志都可以在需要查看的时候再开启,比如MySQL启动不了的时候可以把它的error_log打开。
PS,可以利用cron制定自动清除日志,具体形式有很多种,也很复杂,本文不做叙述。
原创文章,转载请以超链接方式注明出处:
http://www.yundaiwei.com/post/328.html
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。