Post Views: 292
前段时间突然想起来肝了个项目,具体就是给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
代码语言:javascript复制wget https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-x64.tar.xz
解压到指定目录
代码语言:javascript复制tar -xJf node-v12.16.1-linux-x64.tar.xz -C /usr/local/lib/
代码语言:javascript复制cd /usr/local/lib
代码语言:javascript复制mv node-v12.16.1-linux-x64/ nodejs
修改环境变量
代码语言:javascript复制export PATH=/usr/local/lib/nodejs/bin:$PATH
代码语言:javascript复制source /etc/profile
测试是否有npm命令,输入nup -V
查看npm的版本
安装gitbook
代码语言:javascript复制 npm install -g gitbook-cli
这时需要输入gitbook --version
查看gitbook版本,输入完成后会自动安装Gitbook
文档初始化
在任意一个目录下创建一个空白目录
代码语言:javascript复制mkdir /book
进入目录
代码语言:javascript复制cd /book
初始化文档
代码语言:javascript复制gitbook init
这时gitbook会初始化文档目录,在该目录下创建README.md和SUMMARY.md文件
README.md就是文档的说明文档,SUMMARY就是文档目录
之后的内容就是用markdown格式写文档,并且索引到目录内
生成网页
完成书籍或者文档后需要生成html网页,这时在文档目录下输入
代码语言:javascript复制gitbook build
这时候Gitbook会生成网页,存放在 _book 目录下
运行gitbook
在该目录下执行
代码语言:javascript复制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实例:
代码语言:javascript复制gitbook serve --port=4000 --lrport=4100
启动第二个gitbook实例:
代码语言:javascript复制gitbook serve --port=4001 --lrport=4101
这样多个gitbook示例就不会冲突了
结束?
这篇文章写于2022年2月4日夜,可能以后还会遇到一些问题,还会有些补充在里面吧(挖大坑