LNMP环境优化配置最佳实践
TOPIC SOURCE
解决LNMP环境mysql日志导致磁盘占用高的问题
说起我第一次把 LNMP 堆在云服务器上,最惊喜的莫过于那天凌晨磁盘警报突然炸开——我家的小站居然快要“挂”了,根本没有想到是 MySQL 的 binlog 把硬盘给吃光了。后来我把这事儿当成一次“深潜”实验,折腾出一套省心又省资源的配置,忍不住想和你们分享。

先把日志“关”起来
默认的 my.cnf 里,log-bin 和 binlog_format 两行会把每一次写入都记录下来。对我这种个人博客来说,根本不需要审计每一条 INSERT,直接在配置里打上 # 注释,重启 MySQL,磁盘瞬间呼吸到新鲜空气。
# /etc/my.cnf
#log-bin=mysql-bin
#binlog_format=mixed
改完后,我用 systemctl restart mysql 把服务整了个翻身,日志立马停了下来。最爽的是,原本每周要手动清理的 mysql-bin.* 文件,直接省了。
清理残余文件,给硬盘减负
即便关闭了 binlog,之前留下的老日志仍然在硬盘里“躺尸”。我直接跑了几条命令,把 /usr/local/mysql/var 里那堆 mysql-bin.* 扔进回收站,顺手加了个 crontab,每天凌晨自动删掉超过 30 天的日志备份。
# 删除旧日志
find /usr/local/mysql/var -name "mysql-bin.*" -mtime +30 -exec rm -f {} ;
Nginx 的小技巧
- 开启 gzip,压缩静态资源,省流量也省 CPU。
- 通过
worker_processes auto让 Nginx 自动匹配 CPU 核心数,性能杠杠的。 - 在
http块里加client_max_body_size 10M,防止大文件上传卡死。
把这些小改动拼凑起来,我的站点从每天 500MB 的磁盘消耗,直接降到 120MB 左右,甚至连我那颗挑剔的老妈都说“快”。如果你也在为 LNMP 的“肥胖”烦恼,赶紧照着上面几招试试,省时省力还省心。

参与讨论
这配置太顶了,我那破服务器终于能喘口气了👍
求问这个log-bin关闭后会影响数据恢复吗?
之前也踩过这坑,binlog一堆文件直接把服务器搞崩了,尴尬
我按你这改了,结果MySQL启动不了,是不是还漏了啥?
worker_processes auto 这招确实好使,负载降了一大截
老妈都说快hhhh,这句笑到我了,真实用户无疑了