介绍
Jekyll是一个工具,从Markdown文件的目录中生成静态HTML站点,这是有利的,因为由此产生的网站是快速的,便携式的,很容易像nginx这样的服务器同时为许多用户提供服务,而无需使用缓存。
使用Jekyll的最流行的方法是将网站的文件保存在一个Git(LINK0)存储库中,本地编辑它们,并使用git push
将网站部署到您的VPS。
本地安装
如果你还没有,你需要在本地机器上安装 Ruby、Jekyll 和 Git。
对于 Ruby,您可以使用单个命令安装最新版本的 Ruby 2.0 与 RVM:
1curl -L https://get.rvm.io | bash -s stable --ruby=2.0.0
一旦完成(需要几分钟),退出并重新登录,安装Jekyll是抓住jekyll
宝石的简单事情。
1gem install jekyll
现在你需要Git,你可以从官方网站下载(http://git-scm.com/)或使用包管理器来安装(Mac用户可以使用Homebrew,在Linux上的人可能已经知道他们在做什么...)
创建一个博客
Jekyll网站有一个快速开始使用该工具的指南,以及彻底的文档. 我们将涵盖这里的绝对基础,但对于日常使用和定制,你应该参考他们的指南。
导航到您想要在本地机器上存储博客文件的任何地方,并创建一个新的博客:
1jekyll new awesomeblog
这将创建一个包含配置文件,帖子目录和其他必要的位的awesomeblog
目录,现在您可以更改到该目录并启动服务器流程,以在浏览器中预览它。
1cd awesomeblog
2jekyll serve
Jekyll 会创建你的博客,几秒钟后,你可以在浏览器中访问http://localhost:4000
。
现在,让我们在同一个目录中初始化一个Git存储库,这样你所做的任何更改都可以被跟踪。
1git init
2git add .
3git commit -m "Initial commit"
准备VPS
为了简化,我会假设你已经有一个VPS运行Web服务器,如nginx或Apache(我也会假设你的公共HTML文件夹是 /var/www
,尽管它可能因你的分发和配置而有所不同) 如果你还没有这样做,请参阅 nginx上的许多可用的教程。
首先,在您的VPS上安装Git,在Ubuntu或Debian的情况下,您可以使用以下命令安装git-core
包。
1apt-get install git-core
例如,Fedora 使用「yum install git-core」代替。
您还需要安装 Ruby 和 Jekyll。
1curl -L https://get.rvm.io | bash -s stable --ruby=2.0.0
2gem install jekyll
其次,更改您的主目录,并创建一个新的 bar repository
来部署。
1cd ~/
2mkdir repos && cd repos
3mkdir awesomeblog.git && cd awesomeblog.git
4git init --bare
接下来,我们需要设置一个接收后链接. 这是一个壳脚本,Git在将文件推到存储库时运行。
1cd hooks
2touch post-receive
3nano post-receive
现在粘贴在以下脚本中,相应调整变量. GIT_REPO'是上个步骤所创建的光线寄存器的路径,
TMP_GIT_CLONE'是脚本在将文件复制到/var/www'之前检查并构建博客的地点。
PUBLIC-WWW ' 是最后场址的所在地。 在这个例子中(假定你的网络根是 " /var/www " ),网站将出现在http://example.org/awesomeblog',而如果
PUBLIC_WWW ' 改为/var/www',则网站将出现在
http://example.org'.
1#!/bin/bash -l
2GIT_REPO=$HOME/repos/awesomeblog.git
3TMP_GIT_CLONE=$HOME/tmp/git/awesomeblog
4PUBLIC_WWW=/var/www/awesomeblog
5
6git clone $GIT_REPO $TMP_GIT_CLONE
7jekyll build --source $TMP_GIT_CLONE --destination $PUBLIC_WWW
8rm -Rf $TMP_GIT_CLONE
9exit
通过按控制 + O 来保存文件,然后点击 enter 键,然后给该文件可执行的权限。
1chmod +x post-receive
添加远程 Git
在本地机器上,将远程数据添加到您的博客的Git存储库中。
1git remote add droplet [email protected]:repos/awesomeblog.git
现在,您应该能够通过以下命令将最新承诺推向服务器:
1git push droplet master
每当你在 Jekyll 中创建一个新的博客帖子时,请将更改进行到 Git 存储库中,然后点击您的 VPS. 云服务器将构建该网站,并在几秒钟内实现更改。