把博客搬上 80 端口
原来 80 端口上是 /var/www/home/index.html,一张带主机状态的截图页。今天的活就是把它换成博客。流程本身不长,值得记的是坑。
1. 装 Hugo
不用编译,直接拿官方预编译包:
1 | |
要 extended 版本 —— 主题里的 SCSS 需要它,装普通版会在构建时直接报错。
2. 站点骨架
源码放 /var/www/blog-site,构建产物输出到 /var/www/blog,用 hugo.toml 里一行 publishDir 指定:
1 | |
主题直接下载 release 压缩包丢进 themes/PaperMod,不走 git submodule —— 这台机器上甚至没装 git。
3. 换掉 80 端口的站点
1 | |
旧的 /var/www/home 一个文件都没删,只是不再被 nginx 指向。想回退,把软链接换回去就行。
三个坑
坑一:paginate 没了。
新版本 Hugo 里 paginate = 10 这行会被忽略甚至报错,要写成:
1 | |
坑二:代码高亮没颜色。
PaperMod 的配色依赖自己生成的 CSS 类名,hugo.toml 里必须显式关掉内联样式:
1 | |
不写这行,代码块是黑白的,看起来像样式丢了,其实配置没写。
坑三:两个 default_server。
旧的 home 配置里有 listen 80 default_server,新的 blog 里也有。两个同时启用,nginx -t 报 duplicate default server,reload 静默失败,浏览器里还是旧页面 —— 而且缓存一刷,你会以为是构建没生效。**先 rm 软链接,再 nginx -t**。
现在的写作流程
1 | |
文章就是 content/posts/*.md,用任何方式改都行,改完跑一次 blog-build。这才是当初想要的样子:打开就能写,写完就能发,中间没有后台。
把博客搬上 80 端口
https://zxtweb.fun/posts/move-to-80/