该部署方式已作废,如需部署参考 Docker Compose方式部署的文章,真的是方便快捷。
背景
- markdown编辑器体验比较好的就数stackedit,可以把文章实时同步到github,不用担心丢失,非常适合用于写博客。
- 个人写日志的习惯,也不喜欢使用XX云笔记之类的。
- 由于国内访问stackedit.io非常不稳定,特别是晚上的时候,导致经常编辑的博客或者写的日志无法实时同步到github上,故在自己的服务上搭建该服务,可以更愉快的写博客和写个人日志。
一 下载nodejs并安装
1
2
3
4
5
6
7# 下载nodejs并安装
wget https://nodejs.org/dist/v11.3.0/node-v11.3.0-linux-x64.tar.xz
tar -vxf node-v11.3.0-linux-x64.tar.xz
mv node-v11.3.0-linux-x64 /usr/local/
ln -s /usr/local/node-v11.3.0-linux-x64/bin/node /usr/bin/node
ln -s /usr/local/node-v11.3.0-linux-x64/bin/npm /usr/bin/npm
ln -s /usr/local/node-v11.3.0-linux-x64/bin/gulp /usr/bin/gulp
二 安装必要组件
1 | npm install npm -g |
三 下载stackedit
可以下载最新的master分支代码
1
git clone https://github.com/benweet/stackedit.git
也可以下载releasetag【推荐】
1
wget https://github.com/benweet/stackedit/archive/v5.14.0.tar.gz
四 使用 npm安装 StackEdit
1 | npm install |
安装过程中可能会提示缺少一些依赖,直接npm install进去即可,如下(根据提示缺少的依赖手动install进去)
1 | npm install phantomjs-prebuilt@2.1.16 --ignore-scripts |
五 npm install如果出现如下Permission deny错误,请手动更改npm的默认目录,依次执行下列命令
1 | # fatal: could not create leading directories of '/root/.npm/_cacache/tmp/git-clone-4eaa9875': Permission denied |
六 npm install如果又出现PhantomJS not found on PATH错误,原因是因为PhantomJS下载超时,添加国内下载路径
1 | # vim ~/.npmrc |
七 修改networkSvc.js
1 | // src/services/networkSvc.js |
八 创建服务
这里仅仅配置了github支持,其他支持请查看server/conf.js文件中的环境变量,根据需要添加1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19cat << EOF > /usr/lib/systemd/system/stackedit.service
[Unit]
Description=Stackedit daemon
[Service]
ExecStart=/usr/bin/node /root/stackedit/stackedit-5.14.0/build/dev-server.js
WorkingDirectory=/root/stackedit/stackedit-5.14.0
Environment=GITHUB_CLIENT_ID=xxx
Environment=GITHUB_CLIENT_SECRET=xxxxxx
Restart=always
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable stackedit
sudo systemctl start stackedit
systemctl status stackedit
九 打开stackedit
http://[host]:8080