Как настроить сайт разработки Jekyll в Ubuntu 16.04

Вступление

Jekyll - это генератор статических сайтов, который предоставляет некоторые преимущества системы управления контентом (CMS), избегая при этом проблем с производительностью и безопасностью, создаваемых такими сайтами на основе баз данных. Он «осведомлен о блогах» и включает в себя специальные функции для обработки организованного по дате контента, хотя его полезность не ограничивается блог-сайтами. Jekyll хорошо подходит для людей, которым необходимо работать в автономном режиме, предпочитают использовать легкие редакторы веб-форм для обслуживания контента и хотят использовать контроль версий для отслеживания изменений на своем веб-сайте.

В этом руководстве мы установим сайт разработки Jekyll 3.7.3 в Ubuntu 16.04. В последующих руководствах мы рассмотрим сгенерированный здесь контент, опубликуем статический сайт на том же сервере и, в конечном итоге, развернем его в производственном месте.

Предпосылки

Чтобы следовать этому уроку, вам понадобится:

  • * Сервер Ubuntu 16.04 с пользователем без полномочий root с привилегиями sudo *: Подробнее о том, как настроить пользователя с этими привилегиями, вы можете узнать на нашем https://www.digitalocean.com/community/tutorials/initial-server- setup-with-ubuntu-16-04 [Начальная настройка сервера с Ubuntu 16.04].

Выполнив это предварительное условие, вы готовы установить Jekyll и его зависимости.

Шаг 1 - Установка Jekyll

Мы начнем с обновления нашего списка пакетов, чтобы быть уверенными, что у нас есть самая свежая информация о новейших версиях пакетов и их зависимостях:

sudo apt-get update

Затем мы установим Ruby и его библиотеки разработки, а также + make + и + build-essential +, чтобы библиотеки Jekyll скомпилировались после установки Jekyll:

sudo apt-get install ruby ruby-dev make build-essential

Когда это будет завершено, мы перейдем к добавлению двух строк в файл + .bashrc, чтобы дать указание менеджеру пакетов Ruby` + gem` размещать гемы в домашней папке нашего пользователя. Это позволяет избежать сложностей, которые могут возникнуть при общесистемных установках, а также добавляет локальную команду + jekyll + к пользовательской + PATH +.

Откройте + .bashrc +, набрав следующее:

nano .bashrc

Внизу файла добавьте следующие строки:

bashrc
# Ruby exports

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

Сохраните и закройте файл. Чтобы активировать экспорт, выполните следующее:

source ~/.bashrc

Когда это будет завершено, мы будем использовать + gem + для установки самого Jekyll, а также Bundler, который управляет зависимостями Gem:

gem install jekyll bundler

Далее мы позаботимся о том, чтобы в настройках вашего брандмауэра трафик поступал на и с веб-сервера разработки Jekyll.

Шаг 2 - Открытие брандмауэра

Начнем с проверки состояния брандмауэра, чтобы узнать, включен ли он. Если это так, мы обеспечим, чтобы трафик на наш сайт был разрешен, чтобы мы могли просматривать наш сайт для разработки в веб-браузере.

sudo ufw status

В этом случае только SSH разрешен через:

OutputStatus: active
To Action  From
-- ------  ----
OpenSSH ALLOW   Anywhere
OpenSSH (v6)   ALLOW   Anywhere (v6)

У вас могут быть другие правила или вообще нет правил брандмауэра. Поскольку в этом случае разрешен только трафик SSH, нам нужно открыть порт 4000, порт по умолчанию для сервера разработки Jekyll:

sudo ufw allow 4000

Давайте еще раз проверим статус:

sudo ufw status

Теперь наши правила брандмауэра выглядят так:

OutputTo                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
4000                       ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
4000 (v6)                  ALLOW       Anywhere (v6)

После установки программного обеспечения и открытия необходимого порта мы готовы создать сайт для разработки.

Шаг 3 - Создание нового сайта разработки

Из нашего домашнего каталога мы будем использовать команду Jekyll + new + для создания строительных лесов для сайта в подкаталоге с именем + www +:

cd ~
jekyll new

Команда + jekyll new + инициирует + bundle install + для установки необходимых зависимостей и автоматически устанавливает тему под названием Minima. После успешной установки вы должны увидеть результат, подобный следующему:

OutputNew jekyll site installed in /home//www.

Команда + new + Jekyll создает следующие каталоги и файлы:

...
├── 404.html
├── about.md
├── _config.yml
├── Gemfile
├── Gemfile.lock
├── index.md
├── _posts
│   └── 2018-03-19-welcome-to-jekyll.markdown
└── _site

Это не настоящие файлы веб-сайта. Это исходные файлы, которые Jekyll будет использовать для создания статического сайта. Jekyll использует конкретные имена, шаблоны имен и структуры каталогов для анализа различных источников контента и их сборки в статический сайт. При добавлении новых постов и страниц важно использовать существующую структуру и следовать соглашениям об именах Jekyll.

Шаг 4 - Запуск веб-сервера Jekyll

Встроенный в Jekyll облегченный веб-сервер предназначен для поддержки разработки сайтов, отслеживая файлы в каталоге и автоматически восстанавливая статический сайт при каждом сохранении изменения. Поскольку мы работаем на удаленном сервере, мы будем указывать адрес хоста, чтобы просматривать сайт с нашего локального компьютера. Если вы работаете на локальной машине, вы можете запустить + jekyll serve + без настройки хоста и подключиться к + http: // localhost: 4000 +.

cd ~/www
jekyll serve --host=
Output of jekyll serverConfiguration file: /home//www/_config.yml
           Source: /home//www
      Destination: /home//www/_site
Incremental build: disabled. Enable with --incremental
     Generating...
                   done in 0.645 seconds.
Auto-regeneration: enabled for '/home//www'
   Server address:
 Server running... press ctrl-c to stop.

Когда мы вызвали + jekyll serve +, Jekyll проанализировал файлы конфигурации и содержимого в новый каталог + _site + и начал обслуживать содержимое в этой папке + _site +:

...
├── 404.html
├── about.md
├── _config.yml
├── Gemfile
├── Gemfile.lock
├── index.md
├── _posts
│   └── 2018-03-19-welcome-to-jekyll.markdown

Также началось наблюдение за текущим каталогом + www + на предмет изменений. Как только изменение в записи или странице будет сохранено, статический сайт будет автоматически перестроен, поэтому важно не вносить изменения непосредственно в файлы в папке + _site +.

Если мы оставим этот терминал открытым с сервером разработки, работающим на переднем плане при работе на нашем сайте, мы получим немедленную обратную связь по мере добавления страниц и публикаций и изменения содержимого.

Сайт теперь доступен. В веб-браузере мы можем посетить его по адресу и порту сервера, указанному в выходных данных + jekyll serve +:

изображение: http: //assets.digitalocean.com/articles/jekyll-1604/jekyll_home_update.png [Снимок экрана с домашней страницей Jekyll]

Заключение

В этом руководстве мы установили Jekyll и создали сайт для разработки с автоматически сгенерированным контентом. В нашем next мы рассмотрим этот контент, чтобы проиллюстрировать, как Jekyll преобразует исходные файлы в статический сайт, и информировать решения о наших настройках конфигурации.

Related