买服务器那会儿是最兴奋的——付完钱,SSH 一连,root 提示符亮起来,觉得自己已经是个运维了。
我第一台云服务器就是这么被搞废的。买了之后直接开 22 端口、root 密码登录、装完环境就扔那儿,结果三个月后的一天,网站打不开,上去一看,/var 被塞满,进程里多了个不认识的挖矿程序。数据没备份,重装了事。那台机器上跑的东西不多,但折腾了两个通宵才恢复,从此我买完服务器第一件事再也不是装环境了。
下面这 8 件事,是我现在买完 ECS 一定会做的,按顺序来。
1. 安全组先收紧,别全开
新手最容易犯的错就是安全组入方向放行全部端口、源 0.0.0.0/0。控制台里这么勾最省事,也等于把家门拆了挂在街上。
正确做法:入方向只放行真正要用的端口——Web 就 80/443,远程就 22;22 端口尽量把源 IP 限制成自己的出口 IP(家里宽带可以查一下当前公网 IP,换了再改)。数据库端口 3306、6379 这类,永远不要对公网开放,要连就用跳板机或者 SSH 隧道。
改完记得在实例列表里确认这台 ECS 绑定的是这个安全组,我见过好几个人改了半天改的是另一个组。
2. 换成密钥对登录,关掉密码登录
密码登录就是给人撞库用的。创建实例的时候就可以选密钥对,已经买了的也能在控制台「密钥对」里新建再绑定(绑定后要重启实例生效)。
登进去之后把密码登录彻底关掉:
sudo vim /etc/ssh/sshd_config
# 改成:PasswordAuthentication no
sudo systemctl restart sshd
改之前一定要确认密钥对能登进去,别把自己锁在门外。另外那把私钥自己存好,丢了就只能走控制台重置。
3. 别再用 root 干活,建个普通用户
root 权限太大,误操作没有回旋余地。建个普通用户加 sudo:
adduser deploy
usermod -aG sudo deploy # Ubuntu/Debian
# CentOS 是 usermod -aG wheel deploy
之后日常用 deploy 登录,需要管理员权限才 sudo。顺手把 sshd 里的 PermitRootLogin 也设成 no。
4. 开自动快照策略,不是手动点一次
很多人知道要快照,购买时会手动点一次,然后就忘了。手动快照只对那一刻有用,之后的数据变化它不管。
在「存储与快照 → 快照策略」里建一条自动策略:每天一次、保留 7 天就够了,控制台里选好要覆盖的盘(系统盘和数据盘都要选,只选系统盘的等于没做)。
一句提醒:快照是按容量计费的,量大了每个月也是一笔钱,保留天数别设太长。
5. 配告警,别等挂了才知道
云监控默认装了 agent,但告警规则要自己建。我一般配三条:CPU 持续 5 分钟超过 80%、磁盘使用率超过 85%、出网带宽打满。
通知方式别只留邮件,加个短信或者钉钉/企微机器人,邮件你不会及时看的。
6. 数据盘要挂载,而且要用 UUID 写进 fstab
买了数据盘不代表能用,fdisk -l 看一下有没有 /dev/vdb:
mkfs.ext4 /dev/vdb
mkdir /data && mount /dev/vdb /data
关键是最后一步——用 UUID 写 /etc/fstab,别直接写 /dev/vdb:
blkid /dev/vdb # 拿 UUID
# /etc/fstab 里追加:
UUID=xxxx-xxxx /data ext4 defaults,nofail 0 0
写设备名的话,某些情况下重启后盘序变了会挂错盘或者开不了机,nofail 也能避免挂载失败导致系统起不来。
7. 装上定期更新,安全补丁别攒
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian
sudo yum update -y # CentOS
Ubuntu 可以开无人值守升级(只开安全更新那一档就够,unattended-upgrades)。生产环境怕更新搞坏东西的,至少每个月手动过一次。
8. 备份要有一份在别处
快照在云上,账号出状况、误删实例,快照可能跟着一起没。重要数据我会在另一台机器或者 OSS 上再放一份,数据库用 mysqldump 定时导出传走。
成本很低,但这是唯一能让你睡得着的一件事。
几个常见误区
- 安全组改了但不生效:确认实例绑定的是你改的那个安全组,一台 ECS 可以绑多个组,规则是并集。
- 只备份系统盘:真正丢不起的数据都在数据盘上。
- 快照等于备份:快照依赖这个账号、这个地域,出账或者地域故障就一起没了,备份必须有一份在别处。
- 余额不管:服务器到期、欠费被释放,比被黑还常见。开了余额告警和到期提醒,别等停机了才发现。
最后
这 8 件事全部做完大概花不到一小时,比起出事之后通宵恢复,性价比高得离谱。
新手阶段最该建立的习惯不是会装多少环境,而是默认假设这台机器迟早会出问题,然后提前把退路留好。真出事那天,你会感谢自己当初多花的这一小时。