LNMP环境优化配置最佳实践

6 人参与

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

LNMP环境优化配置最佳实践

先把日志“关”起来

默认的 my.cnf 里,log-binbinlog_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 的“肥胖”烦恼,赶紧照着上面几招试试,省时省力还省心。

参与讨论

6 条评论
  • 夜巷幽魂

    这配置太顶了,我那破服务器终于能喘口气了👍

    回复
  • 沉默如山

    求问这个log-bin关闭后会影响数据恢复吗?

    回复
  • 逗比充电宝

    之前也踩过这坑,binlog一堆文件直接把服务器搞崩了,尴尬

    回复
  • 减肥失败典范

    我按你这改了,结果MySQL启动不了,是不是还漏了啥?

    回复
  • 云端影子

    worker_processes auto 这招确实好使,负载降了一大截

    回复
  • 雾野

    老妈都说快hhhh,这句笑到我了,真实用户无疑了

    回复