Многие люди (такие как я) стараются по возможности избегать веб-разработки. Я менее разочарован, глядя на 1000 строк сборки, чем пытаясь центрировать какой-то текст на веб-сайте.
При этом у меня нет времени тратить время на работу со стеком LAMP и создание сложного сайта, когда все, что мне действительно нужно, это платформа для публикации и обмена проектами. Вот тут-то и вступает Hugo. С помощью Hugo вы можете писать простые файлы markdown и динамически генерировать статический сайт на основе html, как этот.
Предпосылки:
ОС Linux: я рекомендую выделенную систему только для хостинга, если она собирается в производство. Либо система, которую вы не используете, либо VPS на провайдера, такого как Digital Ocean или Linode.
Домен: Вы не можете ожидать, что сайт будет работать без него. Есть много хороших регистраторов, но лично мне нравится NameCheap, потому что вы можете размещать электронную почту для своего домена, не размещая сам сайт.
Установка Hugo
Посетите руководство по быстрому старту Hugo для получения конкретной информации. Я смог установить Hugo на мою систему Ubuntu Server
|
|
и на Arch с
|
|
Если Hugo нет в репозитории вашего дистрибутива, вы всегда можете скачать его с помощью tarball.
Создание быстрого сайта
Найдите каталог, в котором вы хотите сохранить свой сайт, и запустите
|
|
где имя сайта - это имя папки, в которой будет создан ваш сайт.
Добавление темы
Просмотрите этот обширный список тем Hugo, пока не найдете ту, которая вам нравится. Найдите его на github и просто клонируйте в каталог тем. Здесь я выбрал тему m10c.
|
|
Затем добавьте следующую строку в файл config.toml в корневой папке вашего сайта.
|
|
Добавление поста
Чтобы создать новый пост, просто запустите
|
|
Это создаст сообщение my-first-post в папке content/posts. Отредактируйте это как хотите.
Наконец, нам нужно запустить сайт. Перейдите в корневой каталог проектов и запустите
|
|
Наконец, посетите localhost:1313, чтобы увидеть сайт
Настройка NGINX
Во-первых, убедитесь, что вы установили NGINX, который доступен практически во всех репозиториях по умолчанию.
Теперь мы собираемся создать и отредактировать файл конфигурации для нашего сайта.
|
|
Есть много комментариев, но конфигурация вашего сервера должна выглядеть примерно так:
|
|
Чтобы включить этот сайт, нам нужно создать символическую ссылку с вашего сайта на сайты с поддержкой. Используйте абсолютные пути к файлам, чтобы избежать путаницы с символическими ссылками.
|
|
Мы можем запустить и включить NGINX с помощью следующих команд:
|
|
Быстрые проверки
- Вы настроили свои серверы имен регистраторов так, чтобы они указывали на сервер, который вы используете для хостинга?
- Вы создали записи A с вашим хостинг-провайдером для направления запросов на правильный сервер? (добавить отдельную запись A для субдомена www)
Добавление SSL
SSL является обязательным в наши дни, и его никогда не было проще реализовать. Я пошел с Certbot, потому что он прост в использовании и, эй, кто не любит EFF?
Посетите сайт certbot, чтобы получить индивидуальные инструкции, основанные на ваших настройках, но вот процесс для NGINX, работающего в Ubuntu 18.04:
Сначала мы добавляем certbot PPA:
|
|
Затем мы устанавливаем сам Certbot
|
|
И наконец мы запускаем скрипт установки:
|
|
и пройти через шаги.
Заключение
Предполагая, что вы все настроили правильно, у вас должен быть простой в использовании сайт, созданный hugo, но работающий с мощным набором NGINX.
Чтобы обновить сайт, просто напишите больше файлов разметки и запустите hugo из корня сайта, чтобы восстановить сайт.