服务器运维怎么入门?先把这四件事做对,少熬三个通宵
刚接手第一台服务器的人,通常会在同一个晚上踩完所有坑。装完系统就冲去开面板,面板还没打开,SSH 先断了;好不容易连上,发现磁盘 100%,日志把根分区塞满;清理完日志,第二天早上看到一堆来自陌生 IP 的登录失败记录。这时候才意识到,运维不是学会几条命令,而是知道哪些事必须先做、哪些事做错了要付代价。
这篇讲的是零基础怎么把一台机器从「能跑」带到「能长期跑」。不聊玄学优化,只讲顺序和取舍。顺序对了,后面省下的时间以通宵为单位计算。
先把「看得见」做起来:监控和告警比任何优化都值钱
新人最容易忽略的一步是监控。机器没挂之前,一切看起来都正常,挂了之后你连它什么时候开始变慢都不知道。
我一般先装两样东西:一个看实时负载,一个做历史记录。实时负载用 htop 或 glances 就够,历史记录用 Prometheus + node_exporter,轻量一点的用 Netdata,装完直接出图。别一上来就上整套告警平台,先用最简单的方式把 CPU、内存、磁盘、网络四个曲线跑出来。
告警阈值先设粗一点。磁盘 80% 提醒,内存 90% 提醒,CPU 持续 5 分钟超过 85% 提醒。为什么不用更精细的阈值?新手阶段误报比漏报更烦,一天几十条通知会让人直接关掉告警,那才是真正的风险。
这一步的取舍很清楚:花两个小时配监控,换回的是出问题时不用靠猜。省下这两个小时,代价往往是半夜被电话叫醒,然后花三小时翻日志找原因。
备份没验证过,等于没有备份
这句话我说过很多次,但真正做到的人不多。备份的坑不在「有没有做」,而在「能不能恢复」。
基础做法分两层:
- 数据层:数据库每天全量 + 每小时增量,用 mysqldump 或 xtrabackup,导出文件不要放在同一块盘上。
- 系统层:用 rsync 或 restic 把关键配置目录同步到另一台机器或对象存储,频率可以低一点,一周一次也行。
关键是恢复演练。导出文件能打开不代表能还原,权限、字符集、版本差异都会在恢复时冒出来。我建议刚入门的人至少手动恢复一次,把整个流程走通,记录下每一步的命令。这个过程通常要花半天,但它是唯一能证明备份有效的方式。
如果业务对可用性有要求,可以在独立服务器上做冷备。以一台 32G 内存、100M 带宽的美国洛杉矶物理服务器为例,月付大致 109 美元,用来放备份和演练环境成本可控。真要跑正式业务,美国洛杉矶物理服务器3 这类配置比共享型云主机稳,磁盘 IO 和带宽都不是一个量级。
权限和日志:出事后能不能查到人,就看这两块
很多事故不是被攻击,而是自己人误操作。root 一把梭,一条 rm 下去,数据没了。
做法不复杂。日常操作走普通账号,需要提权时用 sudo,把命令记进日志。SSH 关掉密码登录,改用密钥,端口改不改无所谓,但 root 直接登录一定要禁。这些配置改完,被暴力破解的概率会降到几乎为零。
日志这块,系统日志和业务日志分开存。系统日志用 logrotate 做切割,保留 7 到 14 天足够;业务日志如果量大,考虑落到独立分区,避免把根分区写满。我见过不少机器挂掉的原因就是日志写爆磁盘,而不是程序本身有问题。
这一步的取舍是:多花半小时配权限,换回的是出事时能定位到具体操作。不做这一步,出了问题只能全量回滚,损失的时间和数据都更大。
什么时候该从练手机器换成独立服务器
入门阶段用一台低配机器练手完全够。但当访问量上来、数据库开始吃 IO、备份和业务抢资源的时候,虚拟化的限制就会暴露出来。
判断信号有几个:磁盘 IO 等待长期偏高、内存交换频繁、带宽被邻居影响。出现这些情况,与其反复调参,不如换到物理服务器。以美国西雅图机房为例,西雅图裸机云服务器 XI 是 E5-2680v4*2 / 64G / 100M 的配置,月付 139 美元,适合把数据库和备份分开跑。硬件独享之后,之前那些「玄学卡顿」大多会消失。
如果你的业务面向国内用户,机房位置比配置更值得先想清楚。线路绕不绕、延迟稳不稳,直接决定用户体验,这部分我在别的文章里单独讲过,这里不展开。
回到最实际的问题:零基础入门,先把监控、备份、权限、日志这四件事按顺序做对,再谈优化和扩展。练手阶段一台低配机器够用,业务有起色之后,32G 到 64G 内存的独立服务器是更省心的选择,价位大致在月付 109 到 239 美元之间。别在共享主机上硬扛数据库,那不是省钱,是把风险往后拖。