导读:之前写过小内存VPS跑WordPress的优化思路:加Swap、砍占用、上缓存。但换个思路想:内容型站点(博客、文档、作品集)根本不需要动态程序。用Hugo把整站编译成纯静态HTML文件,Nginx直接吐文件——内存占用接近于零,几十块一年的小鸡也能跑得飞快,还天然免疫SQL注入、挂马、插件漏洞这类攻击面。这篇从安装Hugo到站点上线讲全流程,全程不需要数据库。
一、为什么静态博客适合小VPS
先看一组直观对比:
WordPress:PHP + MySQL,空闲状态内存占用300M起步,流量一来还要翻倍,于是你要优化、要缓存、要盯数据库;
静态站:只有Nginx在干活,内存占用10M出头,CPU几乎不动,磁盘存的是现成HTML。
三个本质优势:
1. 资源占用:没有PHP进程池、没有数据库,小鸡资源全留给系统;
2. 性能:页面是现成文件,不用运行时渲染、不用查库,磁盘直出;
3. 安全:没有动态程序就没有注入面,不存在插件漏洞和挂马,连WAF层都可以省心。
适用边界也要说清楚:在线后台编辑、会员系统、购物车这类动态需求不适合静态方案;博客常见的评论功能可以用giscus(基于GitHub Discussions)这类第三方方案补齐。
二、安装Hugo
Debian / Ubuntu直接从源里装:
apt install hugo
hugo version
注意:发行版源里的Hugo版本可能偏旧,个别新主题要求较新版本。遇到主题报版本不兼容时,去Hugo官方GitHub的releases页下载对应架构的二进制(主流VPS选linux-amd64),解压后放到 /usr/local/bin 即可。
三、创建站点、选主题、写文章
三步建骨架:
hugo new site myblog
cd myblog
git init
选主题:Hugo官方主题站(themes.gohugo.io)挑一个顺眼的,按主题文档用 git submodule 挂进 themes 目录,再把主题示例配置抄进自己的 hugo.toml。
写作就是写Markdown:
hugo new posts/first-post.md
生成的文件头部有title和date字段,正文用Markdown随意写。本地预览:
hugo server -D
浏览器打开 localhost:1313,边写边看效果,保存即时刷新。
四、构建与部署到VPS
一条命令构建:
hugo
输出到 public/ 目录,整站全是静态文件。
推送到VPS,用rsync最直观:
rsync -avz --delete public/ root@你的服务器IP:/var/www/blog/
服务器端Nginx配置,核心就几行:
server {
listen 80;
server_name your-domain.com;
root /var/www/blog;
index index.html;
location / {
try_files $uri $uri/ =404;
}
gzip on;
gzip_types text/css application/javascript application/json image/svg+xml;
}
systemctl reload nginx 生效。此时域名解析指过来,站点已经能访问了。
五、日常更新与进阶自动化
日常流程简化成两条命令:本地写完 hugo && rsync。一分钟内全网更新。
想更省事可以做自动化:代码托管平台开私有仓库,push之后VPS上用Git钩子拉取并自动构建。思路跟本站之前讲的Git+Webhook自动部署一脉相承,静态站因为没有数据库、没有依赖安装,自动化脚本反而更简单,一个 git pull 加一个 hugo 命令就完事。
六、HTTPS收尾
HTTPS用主流免费证书方案签一张,三个月续一次期;嫌手动续期麻烦的,acme.sh配合cron可以全自动。有了HTTPS之后,还可以顺手把静态资源套一层CDN,图片流量大头让CDN扛,小鸡带宽压力进一步归零。
结语
静态博客是“内容优先”的建站思路:写作在本地Markdown里完成,构建只要一秒,服务器只干一件事——把文件发出去。512M内存的小鸡从此告别Swap调优和数据库运维,把省下的资源留给真正需要的业务。
建站方案没有绝对优劣:要在线编辑、要评论互动、要插件生态,WordPress依然是王者;而如果核心诉求是稳定记录内容、机器配置又寒酸,静态方案值得认真考虑。思路转变一下,几十块一年的小鸡也能是称职的内容服务器。



