本地部署 notion-nextjs-starter-kit
🥇

本地部署 notion-nextjs-starter-kit

Tags
Notion
notion-nextjs-starter-kittransitive-bullshit 开源的一款用 Notion 建站的项目,相比于 Notion 自身的分享页面、cloudflare worker 建站,它都有其更加可取之处,本站也是用这个项目建站的。作为项目本身,其在 README 中只提供了部署到 vercel 的方法,但 vercel 在几个月前的一个时间点以后,中国大陆访问其速度差了很多。因此,对于有境内访问需求的,需要将网站部署在线路更好的境外服务器或者境内服务器,也便有了此文章。

准备条件

  • 一台 Linux 服务器。推荐 RAM > 256MB

    配置网站

    fork nextjs-notion-starter-kit,Clone 代码到本地,按照其 README 的说明配置相关信息。

    修改 site.config.js

    notion image
    rootNotionPageId:希望展示的页面的根目录
    name、domain、author:大概是跟SEO相关,修改成自己的信息
    description、socialImageTitle、socialImageSubtitle:改成自己的信息
    twitter、github、linkedin:社交链接,改成自己的,如果不需要可以注释。

    修改网站图标

    网站的图标位于 public 目录下,为了避免尴尬,建议删除或者改成自己喜欢的图标
    notion image

    本地测试

    修改好配置之后,可以本地测试一下是否配置生效。在有 Nodejs 的环境下,在项目根目录执行
    npm install
    npm run dev
    然后就会提示你打开本地的 localhost:3000
    notion image
    这里本地打开的网页是实时抓取Notion上的数据处理渲染的,因此存在刚打开时较慢的情况,耐心等待。
    浏览后如果没有问题,修改完成后将代码推送到 Github(方便服务器拉代码)。

    部署

    配置第一次启动

    ssh 进入 Linux 服务器后,安装 NodeJs 环境。这里使用一种非常快速粗暴的安装方法
    // debian/ubuntu
    apt install npm
    npm install -g n
    n stable
    拉取代码后,进入到项目目录
    npm install 
    npm run build
    这需要一定的时间,你会看到终端打出很多页面内容的信息。npm build 相当于是先把Notion上的页面信息抓取了一遍存起来。
    npm run start
    notion image
    可以看到,这一服务启动成功,端口为 3000

    使用 pm2 管理进程

    为了使 Node 进程持久化,使用进程管理工具,推荐使用 pm2
    npm install -g pm2
    在项目目录下,启动进程
    pm2 start npm --name mysite -- run start # --name 后面可以修改为你喜欢的名字
    检查进程是否启动成功,即查看该进程的日志,检查是否有 error,
    pm2 logs mysite
    查看所有进程
    pm2 l

    Loading Comments...