Heroku як хостингу сайтів
Давно вже замислювався про те, щоб розміщувати сайти на сервісі Heroku. Це унікальний сервіс, на якому можна розміщувати свої веб-додатки різного рівня. І вартість використання починається від безкоштовного. Наприклад, якщо розміщувати статичний сайт, який не використовує базу даних, то за використання цього додатка платити не потрібно зовсім.
Складнощі починаються в тому випадку, якщо використовується чисто статичний сайт, і не використовуються движки для його генерації. Доводиться вдаватися до Хакама.
Установка і використання
Для використання Heroku необхідно встановити відповідний gem:
І тепер можна створювати свій додаток:
А для того, щоб відкрити в браузері наш сайт, достатньо вказати:
Якщо при відкритті сайту виникає якась помилка, потрібно подивитися логи на сервері. І знову ж таки, для цього використовується консоль:
Все дуже зручно і досить просто.
статичний сайт
Для того, щоб можна було б публікувати статичний сайт, в якому не використовуються програми, внаслідок чого досить в корені сайту виконати дві команди:
Перша команда перетворює наш статичний сайт в PHP-додаток, а друга команда відключає PHP для всього сайту.
Jekyll on Heroku
Для того, щоб використовувати Jekyll на сервері Heroku, потрібно зробити не так вже й багато дій. При створенні основи свого сайту досить використовувати готовий шаблон Jekyll-Heroku. По суті від звичайного шаблону Jekyll відрізняється тільки начіем файлів Gemfile. Gemfile.lock і Procfile.
Файл Gemfile містить в собі перелік гемов, що будуть використовувати в нашому додатку. За замовчуванням використовується jekyll і Redcloth. Якщо в нашому сайті використовується інший движок для обробки markdown, потрібно його прописати. Наприклад, я використовую kramdown. Плюс я ще використовую для стиснення css і js файлів jammit. А для створення файлу Gemfile.lock досить в директорії нашого сайту дати команду:
Файл Procfile містить в собі команду для запуску jekyll на сервері. І в запропонованому шаблоні використовується наступний рядок:
Хоча куди зручніше прописувати необхідні завдання в окремому файлі Rakefile і потім використовувати виклик rake в файлі Procfile
Після того, як створили або доповнили свій сайт необхідними файлами, здійснюємо публікацію сайту:
Так, список використовуваних гемов на моєму сайті кілька перевищує той, що використовується в шаблонах за замовчуванням. Тестування показало, що все працює просто чудово!
До речі, на Heroku можна використовувати досить велике число двигунів по генерації статичних сайтів. Число використовуваних мов програмування досить велике. І головне полягає в тому, що використання таких невеликих сайтів абсолютно безкоштовно.