前几天利用 hexo 搭建了一个博客,于是很高兴地用 $ hexo server
在我的 Linux 服务器上跑了起来。
但是发现,只要关闭了进程,博客也就跟着关闭了。想着,这样的博客给谁看啊,总不能我本地一直开着进程吧。
于是我开始搜索相关 hexo 后台运行的方法,貌似很多人也有同样的问题,官方给出的方法是$ hexo s &
,试了一下进程还是莫名其妙中断了。于是乎看到一篇文章说使用 forever 可以解决,这个给了我启发,那么就用 pm2 运行我的博客不就行了。
那么开始操作:
安装pm2
npm install -g pm2
写一个执行脚本
学习一下 Node.js 官方文档的 child_process.exec(command[, options][, callback])
部分
参考官方文档
在博客根目录下创建一个文件 run.js
//run.js
const { exec } = require('child_process')
exec('hexo server',(error, stdout, stderr) => {
if(error){
console.log(`exec error: ${error}`)
return
}
console.log(`stdout: ${stdout}`);
console.log(`stderr: ${stderr}`);
})
运行脚本
进入博客根目录
pm2 start run.js
这时候我们即使关闭终端,我们的博客也依然会在服务器上运行,问题就解决啦
并且通过 git 我们可以方便的管理我们的文章,git 拉取后博客内容也会自动更新 !