Linux 服务器运维:这 5 个优化技巧让你的网站快一倍
1. 调整 TCP 连接参数
Linux 默认的 TCP 配置比较保守,对于高并发场景来说不够用。改几个参数就能有明显改善。
编辑 /etc/sysctl.conf,加上这几行:
net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_fin_timeout = 30net.ipv4.ip_local_port_range = 1024 65000net.core.somaxconn = 65535
然后执行 sysctl -p 让配置生效。
这几个参数的作用简单说就是:允许重用 TIME_WAIT 状态的连接、缩短连接关闭等待时间、扩大端口范围、增加连接队列长度。对于博客、企业站这种中等流量的场景,改完这些就够了。
2. 优化文件描述符限制
默认情况下,Linux 对每个进程能打开的文件数有限制(一般是 1024)。高并发时这个限制会成为瓶颈。
编辑 /etc/security/limits.conf,加上:
* soft nofile 65535* hard nofile 65535
重启服务器后生效。这个改动对 Nginx、MySQL 这类服务特别有用。
3. MySQL 内存优化
很多朋友的 MySQL 配置是默认的,根本没根据服务器内存调整。一个 2G 内存的服务器,MySQL 默认可能只分配 128M 缓冲池,这明显不够用。
在 /etc/my.cnf 里调整这几个参数:
[mysqld]innodb_buffer_pool_size = 512Mmax_connections = 200query_cache_size = 32M
具体数值根据你服务器内存来。原则是:MySQL 占用的内存不要超过总内存的 50%,剩下的要留给系统和 Web 服务。
4. 开启 Gzip 压缩
这个在 Nginx 里配置,能大幅减少传输数据量。在 Nginx 配置文件里加上:
gzip on;gzip_min_length 1k;gzip_types text/plain application/javascript text/css;gzip_comp_level 6;
重启 Nginx 后,你的 CSS、JS 文件会被压缩传输。对于内容型的网站,这个优化效果非常明显,页面加载时间能减少 30% 以上。
5. 定期清理日志和缓存
服务器用久了,日志文件会越积越多。我见过太多服务器磁盘满了,结果网站挂了的案例。
写个简单的脚本,定期清理旧日志:
#!/bin/bashfind /var/log -name "*.log" -mtime +30 -deletefind /www/wwwlogs -name "*.log" -mtime +15 -delete
加到 crontab 里,每周执行一次。另外,宝塔面板这类工具自带日志清理功能,记得开启。
监控比优化更重要
说句实在话,优化固然重要,但监控才是王道。你都不知道服务器啥时候出问题,优化再好也没用。
我推荐装个简单的监控工具,比如 Prometheus + Grafana,或者直接用云服务商自带的监控。重点看这几个指标:CPU 使用率、内存使用率、磁盘 IO、网络流量。
设置个告警,CPU 持续 5 分钟超过 80% 就给你发短信。这样问题刚冒头你就能处理,不会等到网站挂了才知道。
最后唠叨两句
运维这事儿,讲究的是稳。别一上来就搞什么激进优化,先把基础打牢。上面这 5 个技巧都是经过验证的,改起来风险小,效果明显。
还有一点:每次改配置前,先备份。别嫌麻烦,真出问题的时候你会感谢自己的。
有问题评论区见。



还没有评论,来说两句吧...