1. 程式人生 > >在滴滴雲DC2上基於Gitbook+Nginx構建輕量級文件管理服務

在滴滴雲DC2上基於Gitbook+Nginx構建輕量級文件管理服務

介紹

工作中經常會遇到團隊文件如何管理的問題,Atlassian之類的太複雜,很多時候並沒有成千上萬級別的文件需要管理,可能只有幾百篇的文章需要管理,今天在滴滴雲上給大家演示一下如何快速搭建一個輕量級的文件管理服務。

準備工作

在滴滴雲上申請一個DC2伺服器:滴滴雲

Let’s go

進入DC2伺服器

ssh [email protected]

安裝Node.js

wget http://nodejs.org/dist/v9.0.0/node-v9.0.0.tar.gz
tar zxvf node-v9.0.0.tar.gz
cd node-v9.0.0/
./configure
sudo make
sudo make install

檢視Node.js是否安裝成功

node -v
v9.0.0

安裝Gitbook

npm install gitbook-cli -g

Gitbook初始化

gitbook --version

建立電子書專案

mkdir test_book
cd test_book
gitbook init

建立好的專案目錄中包含以下專案

  1. SUMMARY.md,電子書目錄檔案。子章節,使用Tab縮排實現(最多支援三級標題)。
 # Summary

 * [test_book](README.md)
 * [文件1](utility/wendang1.md)
         * [文件1.1](utility/wendang1-1.md)
         * [文件1.2](utility/wendang1-2.md)
         * [文件1.3](utility/wendang1-3.md)
 * [文件2](wendang2.md)
 * [文件3](wendang3.md)
 * [文件4](zhishiku/wendang4.md)
     * [文件4.1](zhishiku/wendang4-1.md)
     * [文件4.2](zhishiku/wendang4-2.md)
     * [文件4.3](zhishiku/wendang4-3.md)

構建

  1. 生成html檔案,儲存到_book目錄。
gitbook build
  1. 啟動Gitbook。
gitbook serve ./

引入Nginx

實際工作中,我們很多服務都是配在Nginx裡,Nginx的負載均衡、許可權控制等功能能夠很好的和Gitbook配合起來。

這裡,以一個簡單的靜態頁面服務進行嵌入說明。

Nginx配置

    server {
        listen       80 ;
        #listen       80 default_server;
        #listen       [::]:80 default_server;
        server_name  _;
        #root         /usr/share/nginx/html;
        root         /var/www/sdn_gitbook_html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

其中sdn_gitbook_html是_book目錄的軟鏈,配置完成後,重啟Nginx,我們就可以以80埠訪問文件管理服務了。