В последнее время мне нравилось работать со статическими веб-сайтами. Веб-страницы моей компании ранее работали на WordPress, и теперь они просто статические HTML-страницы . Есть несколько вещей, которые мне особенно нравятся в статическом веб-сайте по сравнению с другими решениями:
- Производительность
- Варианты хостинга
- Простота развертывания
Производительность
Несмотря на то, что WordPress почти великолепен со всеми его плагинами и темами, предыдущий веб-сайт никогда не чувствовал себя достаточно быстро. Со статическим веб-сайтом вам обычно не нужно беспокоиться о производительности.
Варианты хостинга
Вы можете разместить статический сайт почти везде: вам не нужен ASP.NET или PHP. Вам просто нужен веб-сервер, такой как IIS или Apache. Или GitHub. Веб-сервер может быть запущен с использованием, например, Amazon EC2.
Простота развертывания
В дополнение к упомянутым выше преимуществам статический веб-сайт также прост в развертывании: нет необходимости в базе данных или конфигурации. В моем случае веб-сайт компании (html, css и js) доступен из репозитория GitHub. Для размещения сайта на новом веб-сервере требуется только Git Clone в правильном каталоге.
Использование Amazon EC2 для размещения веб-сайта: автоматизация развертывания
Учитывая, что статический веб-сайт доступен с помощью Git, и поскольку нам нужен только веб-сервер для размещения сайта, мы можем автоматизировать развертывание сайта. Вот как мы можем сделать это с помощью Amazon EC2:
1. Запустите новый экземпляр
Запустите мастер быстрого запуска и выберите Amazon Linux AMI:
Amazon Linux поддерживает настройку процесса запуска с помощью cloud-init . К сожалению, я не нашел действительно хороших примеров использования cloud-init, но вот несколько источников: ветка на форумах AWS и следующий источник.
2. Убедитесь, что брандмауэр экземпляра пропускает веб-трафик через
По умолчанию TCP-порт 80 заблокирован. Выберите группу безопасности, которая пропускает трафик, или создайте новую группу безопасности:
3. Введите cloud-init в поле «Данные пользователя»
Вот код инициализации cloud-init, который выполняет следующие действия:
- Устанавливает Apache
- Устанавливает Git
- Запускает веб-сервер
- Клонирует веб-сайт из GitHub в корневой каталог веб-сервера
#cloud-config packages: - httpd - git runcmd: - [ /etc/init.d/httpd, restart ] - [ git, clone, "-b", "gh-pages", "git://github.com/mikoskinen/softwaremkwebsite.git", "/var/www/html"]
Вот как можно установить код инициализации cloud-init при запуске нового экземпляра Amazon EC2:
И это все . Через несколько минут Amazon EC2 готов и размещает статический веб-сайт: