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

简介: 使用Gitbook打造个人知识归档系统一.前提1.Linux服务器一台 建议选择CentOS7_64位OS,无备案域名建议选择digitalocean新加坡 节点进行部署。2.注册要求链接:https://m.do.co/c/038647c4bf403.Everyone you refer gets $100 in credit over 60 days。

使用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

附录

目录
相关文章
|
8月前
|
存储 开发工具 数据库
|
9月前
|
存储 安全 Unix
Restic文件备份工具
Restic文件备份工具
679 0
|
11月前
|
存储 JavaScript 开发工具
Hexo 迁移备份
执行如下命令删除不必要的内容
89 0
|
11月前
|
SQL 关系型数据库 MySQL
kkitDeploy功能之--备份系统介绍
kkitDeploy功能之--备份系统介绍
|
存储 关系型数据库 MySQL
mydumper备份工具介绍与使用
前面文章有介绍过 MySQL 系统自带的 mysqldump 备份工具的使用,其实还有一个开源工具 mydumper 同样适用于 MySQL 的逻辑备份。之前一直没有正式体验过,只是听说比 mysqldump 要快很多,具体使用效果如何, 一起来看下吧。
410 0
|
JavaScript iOS开发 MacOS
新版gitbook导出pdf
新版gitbook导出pdf
|
Shell 网络安全
Lsyncd - 实时文件同步工具(精译)
原文: http://axkibe.github.io/lsyncd/ 描述 Lsyncd监视本地目录树事件监视器接口(inotify或fsevents)。它聚集并组合事件几秒钟,然后生成一个(或多个)进程(es)来同步这些更改。
3008 0