type
status
date
slug
summary
tags
category
icon
password
用notion-next作为博客框架
选择notion-next的理由
尝试过用wordpress建站,但是找主题都找了半天,主题之多眼花缭乱,外观的定制程度太高了;而notion是款集成了笔记,数据库,作图,插入视频实时预览等多种能力于一体的all in one应用程序,全面支持markdown和latex语法,在编辑内容这块又好上手功能有多,太丰富了;
就个人博客来讲,肯定是更注重内容编写的可扩展性和便捷性,主题外观差不多找个简约设置说固定的就够了不需要花太多操作去做ui设计;wordpress更适合做个人网站,视觉效果会非常炸裂;
当然促使我使用notionnext最主要的原因就是平常自己都是notion做记录,想要专门腾挪到wordpress还要复制粘贴太过麻烦等,而且wordpress的编写功能远不如notion丰富导致很多的内容粘贴过去都格式错误;而notionnext相当于就是给你提供了一个现成的网页框架,足够简约美观,并且自动读取你的notion数据库渲染到网页上,而自己只需要像往常一样使用notion即可,非常无感省心;
创建自己的notion页面
notionnext有官方文档但是主要是vercel部署不习惯,下面只是我按照自己的流程用docker走一遍
注册自己的notion账号,然后打开下面的连接,将之作为模板导入复制到自己工作空间中
然后进入自己的模板,点击页面右上角,点击分享—发布,然后拷贝网站链接,

格式大致如下
https://crystal-ink-2f4.notion.site/1********9?v=1******2&pvs=4;
找准位置,红色的那一串32位数字才是需要的,记为NOTION_PAGE_ID
服务器上docker部署
- 下载github项目
- 配置环境变量
这里把作者提供的环境变量文件复制一份
然后将配置文件的这两个位置填上;theme文件夹下面都是主题,可以自行将主题变量修改为自己想要的,小写字母填入即可,这里以hex为例;将变量前面的
“#”
号去掉然后改为自己对应的参数即可;修改完车后先按住ctrl+x,Y保存,enter退出;

如果已经决定了自己的域名,那么这个也在配置文件中填上
- 安装镜像
镜像取名为notionnext可自定义
- 利用镜像构筑容器
容器取名为nblog可自定义,容器内开放3000端口,服务器开放3000端口;同时-d,将容器运行在“后台”模式,也称为“分离模式”
而后查看日志
如果是直接端口登陆的话,那么就在自己的服务器厂商的控制台的安全组中打开3000端口,然后通过
ip:端口号
的方式访问即可;到此完成,已经构建博客网站成功- 如果后期更改了配置文件或者直接在notion的配置页面更改了配置,或者更新了整个项目,就要重新编译镜像,重新构建容器
进一步完善
如果想要进一步操作的话,大致还可以做下面的事情,但是都不必要
- 购买域名
- 域名解析到cloudflare
- 创建子域名并指向服务器ip地址
- 给该字域名签发证书
- 服务器本地利用nginx将80和443端口进行反向代理,代理到服务对应端口(代理地址为
http://172.17.0.3:3000
),而后可以域名直接登陆了;
以上内容都在“建站”分类里
上述相关操作在本站搜关键词都可以找到
拓展内容
保持网站持续运行
容器运行相当于就启动了一个yarn命令,是在前台运行的,Docker 容器的生命周期确实依赖于其主进程(PID 1)的运行状态,如果退出终端,即使自己的云服务器还在运行,网站也会随着容器的停止而停止
介绍几个方法以达到持续运行网站的目的,分别是screen,docker,nohup
通过screen命令分离运行及常用命令
screen常用命令
1. 退出当前
screen
窗口- 按下
Ctrl + D
,或者
- 输入
exit
命令。这将关闭当前screen
窗口,若是最后一个窗口,将结束整个会话。
4. 待机(分离)当前
screen
窗口- 按下
Ctrl + A
,然后按D
。这将把screen
窗口分离到后台运行,并允许你退出 SSH 会话而不影响窗口中的进程。
非常好!你所提到的
screen
命令非常实用,可以帮助你高效管理多个会话和窗口。以下是这些命令的详细说明:1. 创建一个命名的
screen
窗口2. 退出当前
screen
窗口- 按下
Ctrl + D
,或者
- 输入
exit
命令。这将关闭当前screen
窗口,若是最后一个窗口,将结束整个会话。
3. 待机(分离)当前
screen
窗口- 按下
Ctrl + A
,然后按D
。 这将把screen
窗口分离到后台运行,并允许你退出 SSH 会话而不影响窗口中的进程。
4. 启动(恢复)分离的
screen
窗口如果没有明确的会话名称,可以使用
screen -r
检查并恢复当前的分离会话。5. 查看
screen
窗口列表6. 杀死某个
screen
窗口- 通过列表找到要终止的会话 ID,然后运行:
或者,如果你已在该窗口中,可以按
Ctrl + A
然后 K
来杀死当前窗口。下面是其他快捷键- 分离当前的
screen
会话(让它在后台运行): - 按下
Ctrl + A
然后D
。
- 杀死当前的
screen
窗口: - 按下
Ctrl + A
然后K
。
- 切换到下一个
screen
窗口: - 按下
Ctrl + A
然后N
。
- 切换到上一个
screen
窗口: - 按下
Ctrl + A
然后P
。
- 创建新的
screen
窗口: - 按下
Ctrl + A
然后C
。
- 在窗口之间切换:
- 按下
Ctrl + A
然后数字键
(如0
,1
,2
等,取决于窗口的顺序)。
- 循环切换窗口:
- 按下
Ctrl + A
然后"
(引用号),会出现窗口列表,可以选择切换。
- 查看
screen
窗口的状态: - 按下
Ctrl + A
然后T
,可以查看当前时间和窗口状态。
- 退出
screen
会话: - 按下
Ctrl + D
,这将关闭当前窗口,若是最后一个窗口,则屏幕会话而退出。 - 或者在会话中输入
exit
。
docker分离运行及常用命令
这次网站搭建就是用的这个方法来保持,命令持续运行
可以使用
-d
参数,使容器以 "分离" 模式运行。修改命令如下:d
(detached mode):- 这个选项使 Docker 容器在后台运行并立即返回容器 ID,而不是将输出显示在当前终端中。容器将在后台继续运行,即使你退出了 SSH 连接。
docker常用命令
下面的命令基本上都可以用linux管理面板比如1panel可视化查看管理
查找镜像
- 获取运行中的容器的资源使用信息:
- 查看本地镜像:
- 查找远程镜像(Docker Hub):
- 查看正在运行的容器:
- 查看所有容器(包括停止的):
启动、停止、删除容器
- 启动容器:
- 停止容器:
- 删除容器:
- 查看日志
操作镜像
- 删除镜像:
- 利用镜像创建并运行容器:
- 使用特定的端口映射:
使用 Dockerfile 构建镜像(Dockerfile文件和.env文件)
- 构建镜像:
- 运行镜像:
使用 docker-compose(要有docker-compose.yml)
- 启动服务:
- 在后台启动服务:
- 停止服务:
- 查看运行中的服务状态:
其他常用命令
- 查看 Docker 版本:
- 清理停止的容器和未使用的镜像:
nohup命令
- 输出重定向:
- 默认情况下,
nohup
将输出(标准输出和标准错误)重定向到nohup.out
文件中。如果没有指定输出文件,程序的输出将存储在这个文件中。 - 可以指定输出文件:
这里
> output.log
将标准输出重定向到output.log
文件,2>&1
表示将标准错误也重定向到标准输出(即同样写入output.log
)。
- 在后台运行:
- 使用
&
符号将进程放到后台运行。这样你可以继续使用当前的终端。
- 检查运行进程:
- 你可以使用
ps
或top
命令来检查后台进程: - 或使用
pgrep
:
- 终止进程:
- 如果需要终止这个通过
nohup
启动的进程,你可以找到其 PID(进程 ID),然后使用kill
命令: - 你也可以使用
killall
命令根据进程名称终止它:
- 作者:JIAHE
- 链接:https://blog.jiaheliu.top/Technical-Notes/Creating-a-personal-blog-using-Notion
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。