НОВОСТИ

Разворачиваем статический сайт на платформе Heroku

Heroku – облачная PaaS-платформа для веб-приложений c поддержкой распространенных языков программирования: Ruby, Node.js, Java, Scala, Clojure, Python, PHP etc. Cерверы Heroku используют операционные системы Ubuntu и Debian, технологии NGINX и Apache. Также в платформу интегрирована система контроля версий GIT. В данной статье я пошагово опишу как бесплатно использовать Heroku в качестве хостинга для статического веб-сайта.

1. Для начала работы с платформой нужно зарегистрироваться в системе – переходим на официальный сайт Heroku и кликаем по кнопке “Sign Up For Free”:

Register in Heroku

Далее заполняем стандартную форму для создания бесплатного аккаунта и нажимаем “Create Free Account”:

Проверяем свой email и подтверждаем регистрацию:

Создаем надежный пароль и авторизуемся в системе:

При первом входе в аккаунт вас попросят принять условия сервиса – “Aceept”:

Попадаем в персональный кабинет. Здесь есть возможность создать новое приложение через веб-интерфейс. Но мы пойдем немного другим путем.

2. Скачиваем приложение Heroku CLI для вашей операционной системы. В данном руководстве я использую ОС Windows 10 64-bit:

Установка не должна вызвать каких-то трудностей. Запускаем exe-файл и устанавливаем как обычное приложение:

После установки нужно открыть командную строку Windows (CMD) от имени Администратора и проверить корректность установки. Для этого нужно ввести команду heroku --version, в ответ должны получить следующее сообщение:

3. Теперь с помощью командной строки необходимо создать новое приложение (app), для этого выполняем команды (предварительно отключив все антивирусы, фаерволы и настроив свой брандмауэр по умолчанию – иначе могут блокировать связь с сервером):

heroku login// авторизация в системе, указываете свой логин и пароль

heroku create myfirstapp// на сервере Heroku будет создано веб-приложение по URL-адресу: https://myfirstapp.herokuapp.com

4. Переходим к этапу отправки (deploy) статического веб-сайта на сервер. Заходим в папку с веб-сайтом с помощью командной строки:

cd ~/myapp

Теперь самое интересное. По умолчанию, платформа Heroku не предназначена для размещения статических веб-сайтов, а для более сложных динамических приложений. И если вы попытаетесь просто отправить с помощью GIT HTML-файлы своего веб-сайта – получите ошибку от Heroku.

Но я нашел “лайфхак”:

  1. добавьте файл с именем composer.json в корневой каталог сайта
  2. добавьте пустой файл с именем index.php в корневой каталог
  3. переименуйте домашнюю страницу (например, index.html) на home.html
  4. в файл index.php добавьте следующую строку: <?php include_once("home.html"); ?>
  5. в composer.json добавьте следующую строку: {}

Веб-сайт подготовлен для отправки на Heroku. Но необходимо выполнить еще одну важную команду – указать язык, который будет использоваться в сборке веб-приложения. В нашем случае для сайта мы будем использовать PHP, выполняем:

heroku buildpacks:set heroku/php

5. И последний шаг. Создаем GIT-репозиторий в корневой директории сайта и отправляем на сервер Heroku с помощью команд:

git init// инициализация вашего локального GIT-репозитория
heroku git:remote -a myfirstapp// связываем GIT-репозиторий с вашим приложением
git add .// добавляем GIT-репозиторий на отправку
git commit -am "comment"// фиксируем все файлы (изменения) в GIT-репозитории и комментируем действие
git push heroku master// отправляем изменения на мастер-ветку (master branch)

Если все ОК – получите сообщение: “Verifying deploy… done”.

Поздравляю. Ваш сайт успешно размещен на хостинге Heroku и опубликован по URL-адресу: https://myfirstapp.herokuapp.com

В случае внесения каких-то изменений на сайт, просто воспользуйтесь командами GIT – обновляете репозиторий и отправляете на сервер. Кстати, кому до конца непонятно что такое GIT, прочитайте мою обучающую статью.

В завершение, еще один полезный лайфхак. По умолчанию, ваш сайт будет открываться по обоим адресам: HTTP и HTTPS. Чтобы устранить дубли и провести склейку зеркал, Heroku позволяет использовать файл конфигурации .htaccess.

Рабочими оказались следующие директивы:

RewriteEngine On

# If we receive a forwarded http request from a proxy…
RewriteCond %{HTTP:X-Forwarded-Proto} =http [OR]

# …or just a plain old http request directly from the client
RewriteCond %{HTTP:X-Forwarded-Proto} =””
RewriteCond %{HTTPS} !=on

# Redirect to https version
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Полезные ссылки:

Оценка:
( 1 оценка, среднее 5 из 5 )
Подписка на KRASHENININ.TECH

Получайте регулярные обновления на почту!


Виталий Крашенинин/ автор статьи
Основатель блога, публицист, IT-специалист. Предоставляю услуги по администрированию, техническому обслуживанию, поисковой оптимизации и продвижению веб-сайтов.
Не забудьте поделиться материалом в соцсетях:
KRASHENININ.TECH - блог о веб-технологиях, и не только
Подписаться
Уведомление о
guest
0 Комментарий
Встроенные отзывы
Просмотреть все комментарии
0
Есть мысли? Прокомментируй!x
()
x
Читайте ранее:
Установка XAMPP сервера на Windows 10

XAMPP - популярный локальный кроссплатформенный веб-сервер с открытым исходным кодом и поддержкой всех популярных операционных систем Windows, Mac, Linux, Solaris....

Закрыть