前情

上一篇​​搭设好了windows下的GitBook环境​​,本篇使用Centos7的环境再来部署一下。

GitBook环境

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

安装nvm

nvm是可以切换管理nodejs版本的开源工具,其中可以看看Github上的仓库。
​​​访问nvm的github​​,如下:





Centos7 搭设GitBook环境_redis


根据介绍可以看到相关的安装脚本,如下:




Centos7 搭设GitBook环境_bash_02


执行安装脚本

执行​​curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash​​如下:

[root@server01 ~]# curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 13226 100 13226 0 0 2389 0 0:00:05 0:00:05 --:--:-- 2959
=> Downloading nvm from git to '/root/.nvm'
=> Cloning into '/root/.nvm'...
remote: Enumerating objects: 278, done.
remote: Counting objects: 100% (278/278), done.
remote: Compressing objects: 100% (249/249), done.
remote: Total 278 (delta 33), reused 88 (delta 16), pack-reused 0
Receiving objects: 100% (278/278), 142.36 KiB | 132.00 KiB/s, done.
Resolving deltas: 100% (33/33), done.
=> Compressing and cleaning up git repository

=> Appending nvm source string to /root/.bashrc
=> Appending bash_completion source string to /root/.bashrc
=> Close and reopen your terminal to start using nvm or run the following to use it now:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
[root@server01 ~]#

根据提示可以看到脚本已经将相关环境变量的内容加入到了​​/root/.bashrc​​文件中,下面来看看,如下:




Centos7 搭设GitBook环境_git_03


设置一下环境变量生效

[root@server01 ~]# source /root/.bashrc
[root@server01 ~]# nvm -v

Node Version Manager

Note: <version> refers to any version-like string nvm understands. This includes:
- full or partial version numbers, starting with an optional "v" (0.10, v0.1.2, v1)
- default (built-in) aliases: node, stable, unstable, iojs, system
- custom aliases you define with `nvm alias foo`

Any options that produce colorized output should respect the `--no-colors` option.

使用nvm安装nodejs

因为​​GitBook​​​的高版本存在侧边栏的html无法跳转的问题,所以需要安装降低版本的nodejs来兼容。
执行​​​nvm install 6.16.0​​​安装,执行​​nvm use 6.16.0​​​切换使用nodejs的版本。
当然,也可以安装其他版本进行切换使用。

[root@server01 ~]# nvm install 6.16.0
Downloading and installing node v6.16.0...
Downloading https://nodejs.org/dist/v6.16.0/node-v6.16.0-linux-x64.tar.xz...
######################################################################## 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v6.16.0 (npm v3.10.10)
Creating default alias: default -> 6.16.0 (-> v6.16.0)
[root@server01 ~]#
[root@server01 ~]# nvm use 6.16.0
Now using node v6.16.0 (npm v3.10.10)
[root@server01 ~]#
[root@server01 ~]# npm -v
3.10.10
[root@server01 ~]# node -v
v6.16.0
[root@server01 ~]#

使用npm安装Gitbook

执行​​npm install -g gitbook-cli​​进行Gitbook安装,如下:




Centos7 搭设GitBook环境_git_04


上传GitBook,并启动服务展示

新建一个目录,将在windows下编写的​​gitbook​​上传,如下:

[root@server01 redis_book]# ls
Chapter1 Chapter2 Chapter3 Chapter4 README.md SUMMARY.md
[root@server01 redis_book]#

启动GitBook的预览服务,如下:




Centos7 搭设GitBook环境_bash_05


由于系统识别不了中文路径,还要配置一下系统语言。

配置Centos7的系统默认语言为中文

参考文献: ​​Centos 7中文语言包的安装及中文支持​

查看当前系统语言

[root@server01 redis_book]# echo $LANG
en_US.UTF-8
[root@server01 redis_book]#

使用locale查看是否具有中文字体库

[root@server01 redis_book]# locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
[root@server01 redis_book]#

可以发现并没有中文字体库。

安装中文字体库

yum install kde-l10n-Chinese -y
yum reinstall glibc-common -y

再次查看语言包

使用​​locale -a​​,查看如下:




Centos7 搭设GitBook环境_git_06


修改配置文件etc/locale.conf

[root@server01 ~]# cat /etc/locale.conf 
LANG="en_US.UTF-8"
[root@server01 ~]#
[root@server01 ~]# vim /etc/locale.conf
[root@server01 ~]#
[root@server01 ~]# cat /etc/locale.conf
LANG="zh_CN.UTF-8"
[root@server01 ~]#

设置好了之后,使用source /etc/locale.conf 重新加载变量

[root@server01 ~]# source /etc/locale.conf
[root@server01 ~]#
[root@server01 ~]# locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
[root@server01 ~]#

最后的关键操作,就是在windows先把Gitbook打Zip包上传,然后在Centos解压缩,那么系统才能识别




Centos7 搭设GitBook环境_git_07


最后发现,就算系统语言是英文的utf-8,只要文件是通过zip包压缩上传,都可以使用,不一定需要设置系统语言为中文。




Centos7 搭设GitBook环境_git_08


最后设置nodejs后台运行

有两种方式,分别如下:
​​​gitbook serve &​​​​setsid gitbook serve​​ 两种方式都可以。




Centos7 搭设GitBook环境_redis_09