使用Gitbook打造个人知识归档系统

一.前提

1.Linux服务器一台 建议选择CentOS7_64位OS,无备案域名建议选择digitalocean新加坡    节点进行部署。2.注册要求链接:https://m.do.co/c/038647c4bf403.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 transfer5.如果想要更便宜的可以来这里 https://www.vultr.com/?ref=71973366.Nginx 现在最新稳定版本(Stable version)  http://nginx.org/download/nginx-1.14.2.tar.gz7.GitBook 是一个基于Node.js的命令行工具。  8.Node.js  npm是 世界的包管理工具,并且是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.gztar zvfx nginx-1.14.2.tar.gzcd nginx-1.14.2./configure --prefix=/usr/local/nginxmakemake 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 // 初始gitbookgitbook build (编译后会在myblog下生成_book目录 接下来我们配置Nginx指向此目录)// [以下两条了解即可]npm update gitbook-cli -g (更新gitbook)npm uninstall gitbook-cli -g (卸载gitbook)

四.配置Nginx

vim /usr/local/nginx/conf/nginx.confserver {    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_DIRMyBlog="/data/gitbook"cd $MyBlogUpdateMyBlog=`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 npmnpm install -g nnpm install -g pm2n latestnpm install gitbook-cli -ggitbook --versiongitbook initgitbook build

from http://www.zhangluya.com

(二).MAC下安装指南

下载安装NODEhttps://nodejs.org/en/#downloadsudo npm install -g nsudo n latestsudo npm install gitbook-cli -gsudo gitbook --version

附录

收藏 打印