公司晚上九点,线上服务突然挂了。用户登录不了,订单打不开。这时候,后端接口没问题,数据库也正常,但网页就是加载不出来。全栈工程师老张被叫醒,连上电脑一看,是服务器磁盘满了,日志没轮转,Nginx 直接 500 错误。
他顺手清理了日志,重启服务,网站恢复。整个过程用了不到十分钟。要是等运维同事响应,可能得等一小时。这就是现实:很多中小公司根本没有专职运维,出问题,全靠开发顶上。
全栈不等于啥都会,但得能兜底
全栈工程师的本职是写前后端代码,从页面到接口都能搞定。但项目一旦上线,光会写代码不够。服务器怎么部署、配置文件怎么写、防火墙开哪些端口、HTTPS 怎么配,这些事没人管的时候,就得自己来。
你不需要像专业运维那样精通 Ansible、Kubernetes 或者 Prometheus,但起码得知道 Nginx 配置文件长什么样,怎么用 systemctl 管理服务,怎么查 CPU 和内存占用。这些技能不是加分项,而是“别让网站半夜瘫痪”的基本保障。
举个真实例子
朋友在一家创业公司做全栈,一个人负责整个产品。上线第一周,用户猛增,服务器负载飙升。他发现是某个 API 被刷,但不知道怎么封 IP。查了半天,才学会用 iptables 加规则:
iptables -A INPUT -s 192.168.1.100 -j DROP
虽然事后有更优雅的方案,比如用云平台的安全组,但当时能快速止血才是关键。这种时候,懂一点运维,比写一百行漂亮代码都管用。
学多少算够?
不需要考 RHCE,也不用背 TCP/IP 协议细节。但以下几件事最好能独立完成:
- Linux 基础命令:ls、ps、top、df、grep、tail
- 服务部署:把 Node.js 或 Python 项目跑在服务器上,用 PM2 或 Gunicorn 托管
- 反向代理:Nginx 配一个简单的转发规则
- 日志查看:知道 error.log 在哪,怎么看报错信息
- 基础安全:改默认端口、关不必要的服务、设防火墙
这些内容花不了太多时间。周末抽两天,搭个云服务器练一遍,比背八股文实用得多。
大厂另说,小公司靠自救
如果你在大厂,有专门的 SRE 团队,那确实可以专注编码。但多数人不在阿里腾讯。尤其是创业公司、外包项目、个人副业,服务器一宕机,客户可不管谁该负责,只问“什么时候修好”。
这时候,全栈工程师多懂点运维,不是越界,而是让项目活得更久的本事。