使用Gitbook打造个人知识归档系统
一.前提
1.Linux服务器一台 建议选择CentOS7_64位OS,无备案域名建议选择digitalocean新加坡
节点进行部署。
2.注册要求链接:https://m.do.co/c/038647c4bf40
3.Everyone you refer gets $100 in credit over 60 days。
4.建议选择机型:
$5 /month
$0.007 /hour
1 GB / 1 CPU
25 GB SSD disk
1000 GB transfer
5.如果想要更便宜的可以来这里 https://www.vultr.com/?ref=7197336
6.Nginx 现在最新稳定版本(Stable version)
http://nginx.org/download/nginx-1.14.2.tar.gz
7.GitBook
是一个基于Node.js的命令行工具。
8.Node.js
npm是JavaScript世界的包管理工具,并且是Node.js平台的默认包管理工具。
具体可以参考 https://www.npmjs.cn/
这里主要使用n来进行node.js版本管理。
二.安装Nginx
(一).安装依赖库
yum install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel wget
安装 nginx 需要先将官网下载的源码进行编译,编译依赖gcc环境。
PCRE是一个Perl库,包括perl兼容的正则表达式库。nginx的http模块使用 pcre
来解析正则表达式。
nginx使用zlib对http包的内容进行gzip。
OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、
常用的密钥和证书封装管理功能及SSL协议。
(二).安装Nginx
wget http://nginx.org/download/nginx-1.14.2.tar.gz
tar zvfx nginx-1.14.2.tar.gz
cd nginx-1.14.2
./configure --prefix=/usr/local/nginx
make
make install
cd ..
./configure 是用来检测你的安装平台的目标特征,检查当前的环境是否满
足要安装软件的依赖关系等.
make 是用来编译的,它从Makefile中读取指令,然后编译。
make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。
(三).安装Gitbook
yum install -y npm // 包管理工具
npm install -g n // node.js管理工具 可以任意切换版本以及版本升级等
n latest // 安装node.js 这里选择最新版本
npm install gitbook-cli -g // 安装gitbook命令行工具
gitbook --version // 查看版本
mkdir -p /data/gitbook/myblog
cd /data/gitbook/myblog && gitbook init // 初始gitbook
gitbook build (编译后会在myblog下生成_book目录 接下来我们配置Nginx指向此目录)
// [以下两条了解即可]
npm update gitbook-cli -g (更新gitbook)
npm uninstall gitbook-cli -g (卸载gitbook)
四.配置Nginx
vim /usr/local/nginx/conf/nginx.conf
server {
listen 80;
server_name www.zhangluya.com;
root /data/gitbook/myblog/_book/;
index index.php index.html index.htm;
charset utf-8;
}
/usr/local/nginx/sbin/nginx(启动)
/usr/local/nginx/sbin/nginx -s reload(重新加载)
killall /usr/local/nginx/sbin/nginx(关闭)
域名解析不再单独来写 因主机上只有一个host配置 直接输入 http://ip即可访问到内容
如不能访问 请查80端口是否打开以及设置访问权限为 0.0.0.0
关闭防火墙 (systemctl stop firewalld && systemctl disable firewalld)
五.自动更新设置
#!/bin/bash
#unset GIT_DIR
MyBlog="/data/gitbook"
cd $MyBlog
UpdateMyBlog=`git pull`
if [[ ${UpdateMyBlog} = "Already up-to-date." ]];then
echo "已经是最新代码 不需要编译更新"
else
# 下载远程库的内容 不做任何合并
cd $MyBlog
git fetch --all
# 把HEAD指向刚刚下载的最新的版本
git reset --hard origin/master
echo "代码拉取更新完毕!"
cd $MyBlog/myblog
/usr/local/bin/gitbook build
echo "代码构建完毕!"
fi
添加crontab定时任务自动检测拉去更新编译(-x为debug模式)。
*/1 * * * * /bin/bash -x /data/gitbook/myblog_update.sh
>> /tmp/gitbook.log 2>&1
六.gitbook 各平台安装指南
(一).CentOS7环境下安装指南
yum install -y npm
npm install -g n
npm install -g pm2
n latest
npm install gitbook-cli -g
gitbook --version
gitbook init
gitbook build
from http://www.zhangluya.com
(二).MAC下安装指南
下载安装NODE
https://nodejs.org/en/#download
sudo npm install -g n
sudo n latest
sudo npm install gitbook-cli -g
sudo gitbook --version
附录