TiddlyWiki搭建个人博客
1 简单安装
先安装Node.js环境(这里不详述),再安装TiddlyWiki的Node.js服务端:
npm install -g tiddlywiki
新建数据目录:
cd ~
## 这样会新建一个目录:~/wiki
tiddlywiki wiki --init server
启动:
cd ~
tiddlywiki wiki --listen host=0.0.0.0 port=8888
## ctrl + c 退出
2 PM2运行并用Nginx做代理
2.1 使用/wiki前缀访问时的配置
使用pm2启动TiddlyWiki:
npm install -g pm2
pm2 start --name TiddlyWiki /usr/bin/tiddlywiki -- wiki --listen host=0.0.0.0 port=8888 path-prefix=/wiki
## 注意:上面的 “/usr/bin/tiddlywiki -- wiki” 这部分中,“--”表示/usr/bin/tiddlywiki命令后跟的参数
配置tiddlywiki前缀
cd ~/wiki/tiddlers
vim '$__config_tiddlyweb_host.tid'
## 输入一下内容:
title: $:/config/tiddlyweb/host
$protocol$//$host$/wiki/
## 然后pm2重启TiddlyWiki
pm2 stop TiddlyWiki
pm2 start TiddlyWiki
配置nginx:
server {
listen 80;
server_name example.com;
location / {
root html;
index index.html;
}
location ^~/wiki/ {
rewrite ^/wiki/(.*)$1 break;
proxy_pass http://127.0.0.1:8888;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
2.2 不使用任何前缀访问时的配置
使用pm2启动TiddlyWiki:
npm install -g pm2
pm2 start --name TiddlyWiki /usr/bin/tiddlywiki -- wiki --listen host=0.0.0.0 port=8888 credentials=wiki-user.csv
## 注意:上面的 “/usr/bin/tiddlywiki -- wiki” 这部分中,“--”表示/usr/bin/tiddlywiki命令后跟的参数
不用配置tiddlywiki前缀
cd ~/wiki/tiddlers
rm '$__config_tiddlyweb_host.tid'
## 然后pm2重启TiddlyWiki
pm2 stop TiddlyWiki
pm2 start TiddlyWiki
配置nginx:
server {
listen 80;
server_name example.com;
if ($request_method ~ "^(HEAD|OPTIONS)") {
return 204;
}
location / {
proxy_pass http://127.0.0.1:8888;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
页面访问:http://example.com
3 恢复备份
cd ~
mkdir wiki_test
cd wiki_test
cp ~/backup.html ~/wiki_test/
## 新建一个wiki,叫wiki_test
tiddlywiki wiki_test --init server
## 从backup.html文件恢复数据到刚新建的wiki_test
caibh@company:~/wiki_test$ tiddlywiki wiki_test --load /home/caibh/wiki_test/backup.html
## 启动wiki_test
tiddlywiki wiki_test --listen host=0.0.0.0 port=8888
4 登录控制
相关文档:https://tiddlywiki.com/prerelease/static/WebServer.html
创建用户:
vim /root/wiki/users.csv
## 输入以下内容:
username,password
aaa,123456
bbb,123456
启动时指定readers
和writers
:
pm2 start --name TiddlyWiki /usr/bin/tiddlywiki -- /root/wiki --listen host=0.0.0.0 port=8888 credentials=/root/wiki/users.csv readers=aaa,bbb writers=bbb
nginx加入ssl,就更安全:
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/cert/example.com.pem;
ssl_certificate_key /etc/nginx/cert/example.com.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
# https://example.com proxy to TiddlyWiki
if ($request_method ~ "^(HEAD|OPTIONS)") {
return 204;
}
location / {
proxy_pass http://127.0.0.1:8888;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}