前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >gitbook踩坑&学习笔记

gitbook踩坑&学习笔记

作者头像
SimpleAstronaut
发布2022-08-09 09:32:41
5330
发布2022-08-09 09:32:41
举报
文章被收录于专栏:LMC的摸鱼博客

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日夜,可能以后还会遇到一些问题,还会有些补充在里面吧(挖大坑

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年2月4日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境
  • 安装gitbook
    • 安装Node
      • 安装gitbook
      • 文档初始化
      • 生成网页
      • 运行gitbook
      • 配置域名和反向代理
      • 踩坑&解决方案
        • 无法安装
          • bash故障
            • ssh连接
              • 显示占用端口
              • 结束?
              相关产品与服务
              命令行工具
              腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档