网站空间不足,首先要分清到底是哪一类资源耗尽。很多人会笼统说域名空间不够,但域名本身不占用存储空间,它只是访问地址。真正不足的是主机磁盘空间,也就是虚拟主机或者云服务器的硬盘容量。还有可能是数据库空间占满,邮箱容量溢出,也有人混淆成月流量超限。这几项在服务商后台分开统计,不要弄混。
先查看资源现状。登录主机控制面板,不管是cPanel、宝塔还是服务商自研面板,找到磁盘使用统计页面,查看总容量、已用容量、剩余容量。剩余空间不足百分之十,就要着手处理。查看目录占用排行,占用最大的通常是网站根目录下的uploads、cache或者日志目录。有时候备份压缩包留在服务器忘记删除,几个G的空间就被占用。

确认占用来源之后,判断清理或者扩容哪个更合适。如果总空间50G,已使用45G,清理文件可以释放几G,清理后还能继续使用一段时间。但反复清理之后空间依旧紧张,或是后续内容会快速增加,扩容才是根本方案。
可以清理的文件有这些。网站程序生成的缓存文件,WordPress的wp-content/cache目录,主题插件临时文件,删除不会影响站点运行,程序会自动重新生成。旧备份文件,很多备份插件默认在服务器本地保存多份备份,本地、云备份都放在同一块硬盘。日志文件,访问日志、错误日志长期不清理,累计占用数G空间。数据库内的垃圾数据,文章修订版本、垃圾评论、过期transient选项,使用WP-Optimize这类插件清理,能够回收不少数据库空间。
清理只能临时缓解,彻底解决问题需要扩容。扩容分不同场景。虚拟主机,控制面板一般有套餐升级按钮,从基础版升级到高级套餐,磁盘空间和流量同步提升。升级一般按比例补差价,不需要迁移数据,提交后几分钟新配额生效。需要留意,部分服务商套餐只能升级,不能降级,选择前确认清楚。虚拟主机空间上限有限,最高一般几百G,超过上限就无法继续扩容。
虚拟主机已经到上限,或者一开始使用云服务器,扩容方式是增加云盘。云服务器扩容硬盘比虚拟主机灵活,阿里云、腾讯云控制台都有云盘扩容选项,选定目标容量,支付完成后系统扩大磁盘。这里有个坑:Linux系统扩容云盘之后,分区和文件系统不会自动扩展,需要手动执行命令,先用growpart扩展分区,再用resize2fs或者xfs_growfs扩展文件系统。Windows操作简单,磁盘管理页面选择扩展卷即可。扩容云盘,实例可以处于运行或者关机状态,以服务商文档为准。
还有一种情况,系统盘和数据盘分开。系统盘容量偏小,存放操作系统和程序,数据盘存放网站文件与数据库。扩容优先增加数据盘,不改动系统盘,稳定性更好。如果建站初期没有单独划分数据盘,所有数据都放在系统盘,也可以扩容系统盘,但部分服务商对系统盘扩容有限制,比如设置容量上限,扩容后不支持缩容。
数据库空间单独配额的情况也要留意。虚拟主机一般分配独立MySQL数据库限额,例如1G或者2G。网站文件只有几百兆,数据库先被占满。这种情况扩容数据库,可以升级主机套餐,或者把数据库迁移到独立云数据库RDS。云数据库支持包年包月或者按量付费,空间可以单独扩容,和主机解耦。迁移完成后主机只存放网站程序,数据库走内网连接,性能更稳定。
邮箱空间满和网站磁盘空间属于两类资源。企业邮箱每个账号容量独立,腾讯免费版单账号1G,阿里免费版单账号5G,容量超限要么删除旧邮件,要么升级付费套餐。部分服务商支持单独扩容单个邮箱账号,不用升级整套套餐,在管理员后台操作。
流量超限和空间不足表现不一样。空间不足会出现上传文件失败、数据库写入报错;流量超限会直接导致网站打不开或者限速。虚拟主机月流量耗尽之后,不同服务商处理方式不同,有的直接暂停站点,有的限速,有的自动扣费购买超额流量。经常流量超限,除升级套餐之外,还可以把静态资源放到对象存储,图片、视频、CSS、JS资源走CDN,降低主机流量消耗。
扩容前做好几件准备工作。完整备份网站,文件和数据库全部备份,下载到本地或者另一台服务器,扩容出现故障可以恢复。扩容完成检查文件权限和属主,Linux环境新增磁盘挂载后,目录的用户组可能异常,网站程序无法写入。测试网站前台后台,验证上传、发布文章、插件更新功能正常。
域名本身不存在扩容一说,域名只需要按期续费,到期前完成续费即可。如果说域名绑定的主机空间不足,还是主机扩容的范畴。更换域名不会解决空间不足问题,只是更换访问地址,存储资源没有变化,磁盘依旧会占满。
扩容这件事,不要拖延。磁盘占用达到九成就需要处理,不要等到数据库写入失败、网站白屏再处理。这个时候甚至无法执行备份,只能依靠旧备份恢复,存在丢数据风险,排查修复耗费的时间远多于提前扩容。花十分钟查看磁盘使用率,比故障之后花大量时间抢修更划算。