第一次在linux阿里云上开服务器,个人开发者和小团队大多会踩同样几个坑。规格选小了,服务跑着跑着就卡;镜像挑错了,某个软件装不上;安全组没配,公网IP上线没几天就被扫描器盯上。这篇按实际部署的顺序,讲选型、初始化、安全加固和日常运维,最后用一个小博客站点的迁移做例子。

一、先估算负载,再选规格
阿里云ECS(弹性计算服务)的规格由CPU、内存和网络能力组成。价格最容易看,但它不该是第一个判断依据。先想清楚业务大概有多少请求、要占多少内存。
- 静态网站或个人博客:1核2G一般够用,主要留意带宽和磁盘空间。
- Web应用加数据库:2核4G是比较稳的起点。数据库可以和应用分开部署,也可以直接用云数据库RDS,省去自己维护的工作。
- 编译或批量计算:重点看CPU主频和内存。购买前最好用按量付费跑一次真实任务,记下耗时再定规格。
业务量拿不准时,先开按量付费实例。运行一两周后看云监控里的CPU、内存和带宽曲线,曲线稳定了再转包年包月,通常能省下一部分费用。
二、选择系统镜像
阿里云提供Alibaba Cloud Linux、Ubuntu、Debian、Anolis OS等多种镜像。选之前看三件事:
- 团队最熟悉哪个发行版。出了问题能快速查到文档和经验,比省几分钟选型更实用。
- 业务依赖的软件是否齐全。有些商业软件只提供RPM包,这时RHEL系或其兼容系统更省事。
- 官方维护周期。长期运行的服务要选仍在安全更新期内的版本,过了维护期的系统迟早得重装。
实例创建后,先更新系统软件包,再设置时区和主机名。新装系统的软件源往往比较旧,先更新再装业务依赖,能减少版本冲突。
三、上线前的安全加固
公网IP一开通,几分钟内就可能收到扫描请求。下面五项是上线前必须做完的基础加固。
- 关闭密码登录,改用SSH密钥。在本地生成密钥对,把公钥写入服务器。先确认能用密钥登录,再关闭密码认证,顺序反了容易把自己锁在外面。
- 限制SSH来源。在安全组里只允许办公网络的IP访问22端口,不要对全网开放。办公IP经常变的话,可以改SSH端口,但这只能减少日志里的扫描噪音,替代不了来源限制。
- 安全组最小化放行。业务只需要80和443,其余端口默认关闭。数据库端口绝对不能对公网开放,哪怕只是临时调试,用完也要立刻收回。
- 安装fail2ban。它读取登录日志,对多次失败的IP自动封禁,大部分暴力破解到这里就停了。
- 开启云安全中心,并设置定期快照。安全中心能发现异常进程和弱口令,快照让误删数据或被入侵后还能回滚。
RAM(资源访问控制)也要尽早配好。日常操作用子账号,只授予需要的权限。AccessKey别写进代码仓库或脚本里,云上事故里,密钥泄露是很常见的起点。
四、案例:小博客从共享主机迁到linux阿里云
下面是一个示例,讲一位独立开发者把个人技术博客从共享主机迁到阿里云Linux服务器的过程。
背景
博客用Hugo生成静态页面,原先放在共享主机上。共享主机访问速度时快时慢,而且没法自定义HTTPS证书的续期流程。作者想迁过去,同时尽量保持操作简单。
实施过程
- 选型:1核2G、3Mbps带宽的ECS,镜像用Alibaba Cloud Linux,地域选访问者主要所在的华东。
- 环境准备:更新系统,安装Nginx,用Git拉取博客源码,在服务器上运行Hugo生成页面。
- 安全配置:关闭密码登录,安全组只放行80、443,以及限定IP的22端口,装好fail2ban。
- 域名与证书:在云解析DNS里把域名的A记录指向服务器公网IP,用certbot申请免费证书,并设置定时续期任务。
- 备份:系统盘每周自动快照一次,保留最近四份。
结果
迁移后,页面加载时间从约2秒降到约0.5秒。上线第一个月没有出现安全事件,fail2ban日志里记录了几百次来自境外IP的登录尝试,全部被自动封禁。服务器的月成本在作者能接受的范围内,证书也不用再手动续。
这个例子里,静态站点对规格几乎没有要求,花时间的反而是安全配置和自动化。证书续期、快照这类重复工作交给定时任务以后,日常基本不用人盯。
五、日常运维要点
- 监控:在云监控里给CPU、内存、磁盘和带宽设置告警阈值。磁盘写满是最常见的故障原因,磁盘告警可以设得早一点,比如使用率超过八成就提醒。
- 日志:定期清理或轮转Nginx和系统日志,防止日志把系统盘占满。
- 更新:固定时间更新内核和关键软件。内核更新需要重启,尽量挑访问量低的时段操作。
- 文档:记下实例ID、安全组规则、域名解析记录和备份策略。人员交接时,一份写清楚的文档比口头说明可靠得多。
第一次用linux阿里云的团队,建议先在测试实例上完整走一遍部署和恢复流程,确认快照真的能还原,再把正式业务迁上去。