Press "Enter" to skip to content

gitbook踩坑&学习笔记

前段时间突然想起来肝了个项目,具体就是给sr2wiki升级,具体的可以去http://book.sr2wiki.top 了解(水。总之就是接触到了gitbook。

之前了解Gitbook的时候看到过一篇挺不错的教程(&手册?,地址在http://xiaohuochai.site ,小火柴的前端小册子里看到过,当时自己按照上面的教程做过一次尝试,很遗憾当时没成功。前不久在腾讯云+社区里找到了一篇文章,按照上面的操作跑了一遍,居然成功了!在这里记录一下过程

环境

我的操作环境是ssh连接CentOS7,yum和其它组件更新到最新版

安装gitbook

在Centos7下搭建GitBook环境,主要需要安装几个组件:nodejs、gitbook、git 其中nodejs可以使用nvm进行版本切换管理。

GitBook是一个基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书

安装Node

下载node

wget https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-x64.tar.xz

解压到指定目录

tar -xJf node-v12.16.1-linux-x64.tar.xz -C /usr/local/lib/
cd /usr/local/lib
mv node-v12.16.1-linux-x64/ nodejs

修改环境变量

export PATH=/usr/local/lib/nodejs/bin:$PATH
source /etc/profile

测试是否有npm命令,输入nup -V查看npm的版本

安装gitbook

 npm install -g gitbook-cli

这时需要输入gitbook --version查看gitbook版本,输入完成后会自动安装Gitbook

文档初始化

在任意一个目录下创建一个空白目录

mkdir /book

进入目录

cd /book

初始化文档

gitbook init

这时gitbook会初始化文档目录,在该目录下创建README.md和SUMMARY.md文件

README.md就是文档的说明文档,SUMMARY就是文档目录

之后的内容就是用markdown格式写文档,并且索引到目录内

生成网页

完成书籍或者文档后需要生成html网页,这时在文档目录下输入

gitbook build

这时候Gitbook会生成网页,存放在 _book 目录下

运行gitbook

在该目录下执行

gitbook serve

服务器会自动启动,需要注意的是,Gitbook访问端口是4000,需要开放4000端口。

配置域名和反向代理

这里可以按需配置,其实还有直接解析到端口的方案,但是为了简单我的方案是解析到服务器,再由Nginx反向代理到4000端口

我的方案的简单因为我是宝塔环境,几乎零代码执行的,具体的可以网上看相关教程,这里就不多赘述了。

踩坑&解决方案

无法安装

第一次在ubuntu上安装的时候死活安装不上,一直提示gitbook command not found

解决:安装Node和Gitbook的时候没有配置环境变量

bash故障

这其实算是我的一个失误,由于之前我在服务器上的一些骚操作,我的bash库损坏了,后来是清楚了缓存重装了一堆东西解决的

ssh连接

因为我是ssh连接的gitbook serve,所以只要ssh已断开服务器就会停止

解决:安装screen进程守护,在screen下操作gitbook

ps:这个操作是我之前搭建MC服务器的时候积累的经验 (

显示占用端口

这里分几种情况,第一种情况就是由应用占用端口,kill掉就行了。

第二种情况就是你有多个gitbook serve,你启动的gitbook与其它已启动的服务端口冲突了,这时需要手动配置端口

启动第一个gitbook实例:

gitbook serve --port=4000 --lrport=4100

启动第二个gitbook实例:

gitbook serve --port=4001 --lrport=4101

这样多个gitbook示例就不会冲突了

结束?

这篇文章写于2022年2月4日夜,可能以后还会遇到一些问题,还会有些补充在里面吧(挖大坑

发表评论

您的电子邮箱地址不会被公开。