云网牛站
所在位置:首页 > Linux云服务器 > 在Ubuntu 18.04系统上安装Jekyll的方法

在Ubuntu 18.04系统上安装Jekyll的方法

2019-02-22 21:45:11作者:黎权良稿源:云网牛站

本文介绍在Ubuntu 18.04系统上安装Jekyll的方法,及创建一个示例网站。

 

简介

Jekyll是最受欢迎的静态站点生成器之一,具有内容管理系统(CMS)中所需的所有功能,与其它数据库驱动的CMS系统不同,它主要关注性能和安全性,使用Jekyll,你可以在几秒钟内将纯文本文件转换为静态网站和博客。

在Ubuntu 18.04系统上安装Jekyll的方法

Jekyll特色如下:

Jekyll很简单:你不需要了解数据库管理,评论审核或讨厌的更新安装。

适合静态内容:你可以使用Markdown,Liquid,HTML和CSS,静态站点可以在你选择的Web服务器上进行部署。

Jekyll具有博客感知功能:它可以很好地处理永久链接,类别,页面,帖子和自定义布局。

 

一、在Ubuntu 18.04上安装Jekyll

我们将首先将所有系统软件包更新到最新版本,然后继续安装Jekyll:

$ sudo apt-get update

$ sudo apt-get upgrade

Jekyll需要一个包含库的Ruby开发环境,使用以下命令安装Jekyll和必需的构建工具:

$ sudo apt-get install make build-essential

安装Ruby包和开发工具:

$ sudo apt-get install ruby ruby-dev

参考:在Ubuntu 18.04 LTS系统上安装Ruby的方法

我们现在需要指示Ruby的gem包管理器将gem放在登录用户的主目录中,在~/.bashrc或~/.zshrc下添加以下行,具体取决于你的shell:

export GEM_HOME=$HOME/gems

export PATH=$HOME/gems/bin:$PATH

现在来源.bashrc|.zshrc文件以使更改生效:

$ source ~/.bashrc

$ source ~/.zshrc

完成此操作后,将使用gem安装Jekyll和Bundler,这是一个用于管理Gem依赖项的工具:

$ gem install bundler

Fetching: bundler-1.16.2.gem (100%)

Successfully installed bundler-1.16.2

Parsing documentation for bundler-1.16.2

Installing ri documentation for bundler-1.16.2

Done installing documentation for bundler after 3 seconds

1 gem installed

安装Jekyll:

$ gem install jekyll

 

二、使用Jekyll创建一个新网站

现在已经设置了所有必需的东西,让我们继续为Jekyll添加一个站点,为此,我们将使用命令jekyll new site,这将使用默认的Jekyll主题启动所需依赖项的bundle安装,安装成功后,你应该看到如下输出(请把xxx.com换成你的域名,比如ywnz.com):

$ jekyll new blog.xxx.com

Running bundle install in /home/jmutai/blog.xxx.com... 

Bundler: Don't run Bundler as root. Bundler can ask for sudo if it is needed, and installing your bundle as root will break this application for all non-root users on this

Bundler: machine.

Bundler: The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`.

Bundler: Fetching gem metadata from https://rubygems.org/...........

Bundler: Fetching gem metadata from https://rubygems.org/.

Bundler: Resolving dependencies...

Bundler: Using public_suffix 3.0.2

Bundler: Using addressable 2.5.2

Bundler: Using bundler 1.16.2

Bundler: Using colorator 1.1.0

Bundler: Using concurrent-ruby 1.0.5

Bundler: Using eventmachine 1.2.7

Bundler: Using http_parser.rb 0.6.0

Bundler: Using em-websocket 0.5.1

Bundler: Using ffi 1.9.25

Bundler: Using forwardable-extended 2.6.0

Bundler: Using i18n 0.9.5

Bundler: Using rb-fsevent 0.10.3

Bundler: Using rb-inotify 0.9.10

Bundler: Using sass-listen 4.0.0

Bundler: Using sass 3.5.6

Bundler: Using jekyll-sass-converter 1.5.2

Bundler: Using ruby_dep 1.5.0

Bundler: Using listen 3.1.5

Bundler: Using jekyll-watch 2.0.0

Bundler: Using kramdown 1.17.0

Bundler: Using liquid 4.0.0

Bundler: Using mercenary 0.3.6

Bundler: Using pathutil 0.16.1

Bundler: Using rouge 3.1.1

Bundler: Using safe_yaml 1.0.4

Bundler: Using jekyll 3.8.3

Bundler: Fetching jekyll-feed 0.10.0

Bundler: Installing jekyll-feed 0.10.0

Bundler: Fetching jekyll-seo-tag 2.5.0

Bundler: Installing jekyll-seo-tag 2.5.0

Bundler: Fetching minima 2.5.0

Bundler: Installing minima 2.5.0

Bundler: Bundle complete! 4 Gemfile dependencies, 29 gems now installed.

Bundler: Use `bundle info [gemname]` to see where a bundled gem is installed.

New jekyll site installed in /home/jmutai/blog.xxx.com.

将使用用于创建静态站点的Jekyll源文件创建目录:

$ tree blog.xxx.com/

blog.xxx.com/

├── 404.html

├── Gemfile

├── Gemfile.lock

├── _config.yml

├── _posts

│  └── 2019-02-22-welcome-to-jekyll.markdown

├── about.md

└── index.md

1 directory, 7 files

请注意,你必须先cd到此目录才能开始使用它:

$ cd blog.xxx.com/

Jekyll的内置轻量级Web服务器将在端口4000上提供内容,如果启用了防火墙服务,则允许访问此端口:

$ sudo ufw allow 4000

Jekyll旨在通过自动检测文件的更改来支持实时开发,并在保存更改时自动重新生成静态站点。

 

三、启动Jekyll Web Server

要启动Jekyll内置Web服务,请选择到站点目录并使用jekyll serve命令启动Jekyll Web服务器,然后使用要绑定的主机IP地址:

$ cd ~/blog.xxx.com

$ jekyll serve --host=178.128.164.211

执行jekyll serve命令时,Jekyll将解析配置并将内容文件推送到名为_site的目录中,然后它提供此_site目录中的内容:

$ ls -1 _site/

404.html

about

assets

feed.xml

index.html

jekyll

应该得到如下输出:

Configuration file: /home/jmutai/blog.xxx.com/_config.yml

Source: /home/jmutai/blog.xxx.com

Destination:/home/jmutai/blog.xxx.com/_site

Incremental build: disabled. Enable with --incremental

Generating... 

done in 0.372 seconds.

Auto-regeneration: enabled for '/home/jmutai/blog.xxx.com'

Server address: http://178.128.164.211:4000/

Server running... press ctrl-c to stop.

当保存对帖子或页面的更改时,Jekyll还会在~/blog.xxx.com目录中监视新的更改,它将自动重建静态站点,将所有站点帖子放在_posts目录下。

访问服务器的IP地址和端口4000以查看默认网页:

在Ubuntu 18.04系统上安装Jekyll的方法

如果你使用的是Nginx或Apache等Web服务器,则需要将_site/中的内容复制到其Web文档根目录。

 

相关主题

在Ubuntu 18.04服务器上安装LAMP Stack的方法[Apache、MySQL、PHP]

精选文章
热门文章