
部署到 Linux 服务器 + Nginx 的步骤记录
这篇示例文章记录本博客的部署流程,方便以后换服务器时照着重做一遍。实际部署前请先把 deploy.sh 和 nginx.conf.example 里的占位符替换成自己的服务器信息。
1. 本地构建
npm run build
构建产物在 dist/ 目录,同时 pagefind 会生成 dist/pagefind/ 搜索索引。整个 dist/ 就是要上传的全部内容。
2. 同步到服务器
项目根目录的 deploy.sh 封装了 rsync 增量同步:
bash deploy.sh
首次使用前,先编辑 deploy.sh 头部的 SERVER_USER、SERVER_HOST、SERVER_PATH 三个变量。
3. Nginx 配置
参考项目根目录的 nginx.conf.example,要点:
root指向服务器上存放dist/内容的目录;- 开启 gzip,减小传输体积;
- 静态资源(
_astro/下的哈希文件)设置长缓存; - 用 Let’s Encrypt(certbot)签证书开启 HTTPS。
申请证书的命令大致是:
sudo certbot --nginx -d blog.example.com
4. 后续更新
以后每次写完文章,只需要两步:
npm run build
bash deploy.sh
静态站点没有数据库和运行时,服务器只需要一个 Nginx,非常省心。