
Linux服务器日常维护 | 云服务器性能检测 | VPS运维指南【2025最新】
见过太多朋友刚买的时候各种折腾优化,结果跑了半年就不管了,等网站突然打不开、数据库崩了才来群里问咋回事。
其实很多问题都能提前发现,今天就分享4个最基础但最容易被忽略的服务器检查项目,定期做一遍,能避免80%的突发故障。
先说明:本文适合新手,大佬请绕道~
为什么要定期检查VPS?血泪教训
去年有个群友,搭了个博客跑了大半年挺稳定的,结果某天网站直接白屏。
排查了半天发现是磁盘满了,MySQL数据库写不进去,网站自然就挂了。
还有个更惨的,服务器被人扫描爆破了好几个月都不知道,最后变成了肉鸡。
所以定期体检真的很重要! 不是说每天盯着看,但至少每周或每月检查一次,能省很多麻烦。
第一项:磁盘使用率检查【最容易爆的】
查看磁盘占用情况
SSH登录后直接输入:
df -h
重点看这几列:
- Size:总容量
- Used:已用空间
- Avail:剩余空间
- Use%:使用百分比
⚠️ 危险信号: 任何分区超过80%就要注意了!
找出哪个目录占空间
du -sh /* | sort -rh | head -10
这条命令会列出占空间最多的10个目录。
新手常见的几个坑:
1️⃣ 网站日志没清理
# Nginx日志路径
/var/log/nginx/
# 有些能占几个G甚至十几G
2️⃣ 备份文件堆积 很多人用宝塔自动备份,但从来不删旧备份,最后备份比网站本身还大。
3️⃣ Docker镜像缓存
# 查看Docker占用
docker system df
# 清理无用镜像
docker system prune -a
快速清理方案
清理日志:
# 清空nginx日志
> /var/log/nginx/access.log
> /var/log/nginx/error.log
删除旧备份:
# 找出7天前的备份文件
find /www/backup -mtime +7 -delete
第二项:内存占用检查【卡顿元凶】
查看内存状态
free -m
重点关注这几个数值:
| 参数 | 说明 | 安全范围 |
|---|---|---|
| total | 总内存 | – |
| used | 已使用 | <80% |
| available | 实际可用 | >200M |
| Swap | 交换空间 | 尽量别用 |
判断标准:
✅ 正常情况
- available剩余500M以上
- Swap基本不用或用得很少
❌ 危险情况
- available长期只剩几十M
- Swap使用率持续很高
- 服务器明显变卡
找出吃内存的进程
ps aux --sort=-%mem | head -10
常见内存杀手:
- MySQL没优化(默认配置太吃内存)
- PHP-FPM进程开太多
- Redis/Memcached配置不当
- 跑了太多Docker容器
临时释放内存(治标不治本)
# 清除缓存
sync && echo 3 > /proc/sys/vm/drop_caches
根本解决办法:
- 优化程序配置
- 升级内存规格(余初云这种可以随时升级的比较方便)
- 关掉不必要的服务
第三项:端口安全检查【最容易被黑】
查看开放端口
两种命令都行:
# 方法1
ss -tulnp
# 方法2
netstat -tulnp
正常应该开的端口:
| 端口 | 服务 | 说明 |
|---|---|---|
| 22 | SSH | 远程登录 |
| 80 | HTTP | 网站 |
| 443 | HTTPS | 网站加密 |
| 3306 | MySQL | 数据库(建议限制IP) |
| 6379 | Redis | 缓存(建议限制IP) |
⚠️ 如果看到这些端口要小心:
- 大量不认识的高位端口(>10000)
- 3306、6379对外开放(很危险!)
- 奇怪的低位端口(可能是木马)
关闭危险端口
使用防火墙规则:
# CentOS/RHEL
firewall-cmd --remove-port=3306/tcp --permanent
firewall-cmd --reload
# Ubuntu/Debian
ufw deny 3306/tcp
ufw reload
只允许特定IP访问数据库:
# 只允许127.0.0.1访问MySQL
firewall-cmd --add-rich-rule='rule family="ipv4" source address="127.0.0.1" port port="3306" protocol="tcp" accept' --permanent
第四项:日志异常检查【发现入侵的关键】
主要检查这几个日志
1. Nginx访问日志
tail -100 /var/log/nginx/access.log
异常信号:
- 短时间内大量404(可能在扫描目录)
- 奇怪的URL路径(/phpmyadmin、/admin、/wp-login.php)
- 大量POST请求到不存在的路径
2. 系统登录日志
tail -100 /var/log/auth.log # Debian/Ubuntu
tail -100 /var/log/secure # CentOS/RHEL
危险信号:
Failed password for root from xxx.xxx.xxx.xxx
Failed password for admin from xxx.xxx.xxx.xxx
这种密集出现就是在爆破SSH!
3. 错误日志
tail -100 /var/log/nginx/error.log
看看有没有频繁报错,比如502、504这些。
简单的日志分析技巧
统计访问最多的IP:
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -10
统计访问最多的URL:
awk '{print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -10
找出所有404请求:
grep "404" /var/log/nginx/access.log | tail -50
如果发现某个IP疯狂访问,直接封了:
# 使用iptables封IP
iptables -A INPUT -s 恶意IP -j DROP
# 或者用防火墙
firewall-cmd --add-rich-rule='rule family="ipv4" source address="恶意IP" reject' --permanent
做完这4项检查要多久?
楼主实测下来:
- 磁盘检查:2-3分钟
- 内存检查:1分钟
- 端口检查:2分钟
- 日志快速扫一遍:5分钟
总共10分钟搞定一轮完整体检。
建议新手可以:
- 个人博客:每月查一次
- 有业务的站:每周查一次
- 重要项目:每天看一眼监控面板
进阶优化建议
1. 自动化磁盘清理
创建一个定时任务:
crontab -e
添加这一行(每天凌晨3点清理7天前的日志):
0 3 * * * find /var/log/nginx -name "*.log" -mtime +7 -delete
2. 配置监控告警
推荐几个免费监控工具:
- UptimeRobot(监控网站可用性)
- Netdata(实时性能监控)
- Prometheus + Grafana(高级监控方案)
3. 定期备份
宝塔面板用户: 计划任务 → 备份网站 → 每周备份一次 → 保留最近3份
命令行备份:
# 备份网站文件
tar -czf /backup/web-$(date +%Y%m%d).tar.gz /www/wwwroot
# 备份数据库
mysqldump -u root -p database_name > /backup/db-$(date +%Y%m%d).sql
4. SSH安全加固
# 修改SSH端口(改成10000-65535之间的随机端口)
vim /etc/ssh/sshd_config
# 找到 Port 22 改成 Port 你的端口
# 禁止root直接登录
PermitRootLogin no
# 重启SSH
systemctl restart sshd
面板党的福音
如果你懒得敲命令,用宝塔/1Panel这类面板也行:
宝塔面板位置:
- 磁盘占用:文件 → 查看磁盘使用率
- 内存占用:监控 → 系统状态
- 端口管理:安全 → 端口管理
- 日志查看:网站设置 → 日志
不过建议: 至少学会用df -h和free -m这两个命令,关键时刻能救命。
VPS平台选择建议(基于维护便利性)
| 平台 | 优势 | 适合人群 |
|---|---|---|
| 余初云 | 按小时计费、随时升级 | 新手、测试项目 |
| 阿里云 | 稳定、有监控面板 | 企业、正式项目 |
| 腾讯云 | 国内速度快 | 国内业务 |
| Vultr | 按小时计费、灵活 | 折腾党 |
楼主现在主力在用余初云,主要是配置可以随时调整,内存不够了直接升级不用迁移数据。
FAQ常见问题
Q:服务器目前运行正常,还需要检查吗?
A:需要!很多问题是慢慢积累的,等出事再查就晚了。
Q:完全不会命令行怎么办?
A:先用面板熟悉一下各项指标,然后慢慢学几个常用命令。
Q:日志看不懂有用吗?
A:不用完全看懂,只要能发现”访问量突然暴增”、”大量失败请求”这些异常就够了。
Q:磁盘快满了怎么办?
A:优先清日志和旧备份,实在不够就买大点的套餐或者加块数据盘。
Q:发现SSH被爆破怎么办?
A:立即改SSH端口、装fail2ban自动封IP、或者直接换成密钥登录。
楼主的一点经验
搞了几年服务器下来,真心建议养成定期检查的习惯。
不需要每天盯着,但至少每周花10分钟跑一遍这4个检查,能避免绝大多数突发故障。
记住几个原则:
🔹 磁盘不要超过80%
🔹 内存长期占用别超过70%
🔹 只开放必须的端口
🔹 定期看一眼日志有没有异常
这4条做到了,你的VPS基本就能稳如老狗。
最后
以上就是楼主总结的4项必做体检,都是实战经验。
如果你有更好的运维技巧,欢迎在评论区分享!大家一起交流学习~
再次提醒:定期检查真的能省很多麻烦,别等出事了才后悔!
本文首发于技术交流论坛 VPS板块
最后更新:2025年12月14日
转载请注明出处
相关教程推荐:
- 《新手VPS购买后必做的8项安全设置》
- 《Linux服务器性能优化完全指南》
- 《宝塔面板深度使用技巧合集》
原创文章,作者:余初云,如若转载,请注明出处:https://blog.jidcy.com/dynamicip/vpsbh/1187.html
