服务器运维从零上手:先搞懂这四件事,再谈精通
刚拿到服务器的人,通常会经历同一个阶段:系统装好了,环境配完了,网站也能打开,然后就不知道下一步该干什么。直到某天早上发现 SSH 连不上,或者磁盘被日志写满,才意识到运维不是一个可以「以后再学」的选项。我带过的新人里,卡住的地方几乎都不是命令不会敲,而是不知道哪些事情必须提前做、哪些可以往后放。
下面按我实际排的顺序讲:先解决能连上和连得上安全的问题,再解决机器看得见的问题,然后是数据别丢,最后才是性能。顺序反了,学起来会很痛苦。
第一步不是学命令,是把登录这条路守住
绝大多数新手服务器被入侵,入口都是 22 端口。默认配置允许 root 直接登录、允许密码认证,而公网上的扫描器几分钟就能找到你。
要改的东西不多,但每一条都不能省:
- 把 SSH 端口从 22 换成高位端口,能挡掉九成以上的自动化扫描
- 禁用 root 远程登录,改用普通用户加 sudo
- 关掉密码认证,改成密钥登录,私钥不要放在服务器上
- 装 fail2ban,同一 IP 连续失败几次就临时封掉
这四条做完,一台公网机器被撞开密码的概率会低到可以忽略。代价是每次登录得带密钥文件,换电脑要重新配一次。我一般会先在本地留一份备用密钥,再动手关密码登录,顺序错了会把自己锁在外面。
密码强度这件事不用纠结,只要还开着密码认证,多复杂都不安全。直接关掉最省心。
机器看不见等于没在运维
服务器不会主动告诉你它快撑不住了。CPU 打满、内存被吃光、磁盘只剩几百兆、流量跑满带宽,这些在用户那边表现为「网站变慢」,在你这边什么都看不到。
监控不需要一上来就上重型方案。一台机器的话,装个轻量的采集脚本,把 CPU、内存、磁盘、网络四项每 60 秒上报一次,再配一个磁盘使用率超过 85% 就发邮件的告警,基本就够用了。
真正值钱的是告警,不是图表。图表是出事后复盘用的,告警是出事前叫醒你的。我见过太多人装了漂亮的监控面板,但没配任何通知,等于白装。
磁盘这一项要单独盯。日志文件、数据库 binlog、Docker 的镜像层,这三样是写满磁盘的主力。给日志加个 logrotate 按天切割并只保留 7 天,能省掉很多半夜救火。
备份没验证过就等于没有备份
这是运维里最容易被跳过、代价又最大的一环。定期把数据打包传到另一台机器或对象存储,这件事谁都知道要做,但真正做过恢复演练的人不多。
判断备份有没有用,只看一个标准:能不能在一台干净的机器上,从备份文件把服务完整跑起来。跑不起来,备份就是心理安慰。
频率上,数据库建议每天全量加实时增量,静态文件按改动频率来。保留策略我通常按 7 天日备、4 周周备、6 个月月备来配,再久的历史数据留着占空间的意义不大。
顺带说一句,备份和主站在同一台机器上,不算备份。机器一挂两个一起没。
练手用什么机器,钱花在哪
入门阶段不建议直接买最便宜的 VPS 练,配置太低跑不动监控和容器,学起来处处受限。一台 E3-1230 配 8G 内存、30Mbps 带宽的独立服务器,月付 56 美元左右,足够你把上面这几件事完整走一遍,还能顺手跑几个真实的小站。
如果是用来做压力测试或者练网络配置,可以看看 圣何塞独立服务器,配置和价位都适合新手折腾,机房在美国西海岸,国内访问延迟大致在 150ms 上下,做实验完全够。
需要跑多个站点、练负载均衡和反向代理的话,带宽和内存要往上抬一档。圣何塞站群服务器是 2 颗 E5-2697V2 加 32G 内存、100M 带宽的规格,月付 293 美元,能同时开十几台虚拟机做集群实验,比单机练手更接近真实环境。
什么时候该停下来?当你能在没有任何文档的情况下,从一台裸机装到服务上线、配好监控和备份、并且知道出问题时先看哪三个指标,入门就算过了。剩下的精通部分,靠的是真实故障积累,不是看教程能看出来的。