1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/oubayun-Hexo-Blog-Docker

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Статья:

Этот текст написан на основе практики работы с Hexo.
Среда разработки: node:13.10.1-alpine3.11 + Hexo v4.2.0 + NexT.Gemini v7.7.2.

Описание образа

Данный образ Docker создан компанией 欧巴云 на базе node:13.10.1-alpine3.11, Hexo версии 4.2.0 и NexT.Gemini версии 7.7.2. В качестве переднего прокси используется Traefik, который реализует функцию ACME dnsChallenge для получения бесплатных сертификатов Let's encrypt. Сертификаты автоматически продлеваются. SSL Labs подтверждает сертификат A+ уровня SSL/TLS. Статические страницы сайта публикуются через Nginx. Gitee используется в качестве фотохранилища, а также активирована функция сжатия gzip для ускорения доступа к сайту. (Функция Traefik отсутствует в этом образе Docker, её нужно устанавливать отдельно; этот образ поддерживает только HTTP).

Изначально с HTTPS:

Этот образ Docker был создан компанией 欧巴云 на базе node:13.10.1-alpine3.11, Hexo версии 4.2.0 и NexT.Gemini версии 7.7.2. Используется функция ACME dnsChallenge для получения сертификатов Let's encrypt, которые автоматически продлеваются с помощью таймера. Сайт публикуется через Nginx, что позволяет повысить производительность системы при одновременном доступе и подтверждается сертификатом SSL/TLS уровня A+ от SSL Labs.

Логика реализации бизнес-процессов

Главная страница сайта

Версия

2020 год, 27 марта, основная функциональность, версия 1.0

  • Создан личный блог Hexo v4.2.0+NexT.Gemini v7.7.2 на Alpine3.11.
  • Добавлена функция автоматического создания сертификатов Let’s Encrypt ACME DNS (на платформе Tencent Cloud).
  • Реализован мониторинг изменений файлов с использованием inotifywait для автоматической сборки статических веб-сайтов.
  • Сайт опубликован через Nginx для повышения производительности.
  • Настроена синхронизация rsync для инкрементного обновления, позволяющая автоматически собирать и развёртывать документы Markdown, написанные в vNote, после их загрузки по SFTP.

2020 год, 30 марта, основная функциональность, версия 1.1

  • Добавлен модуль gzip в Nginx.
  • Запущена функция сжатия Nginx gzip.

2020 год, 4 апреля, основная функциональность, версия 1.2

  • Исправлена проблема многократной сборки и публикации документов Markdown из-за множественных событий мониторинга inotifywait.
  • После синхронизации документов Markdown, написанных в vNote и загруженных по SFTP, автоматически заменяются пути к изображениям на абсолютные.

2020 год, 3 мая, основная функциональность, версия 1.3

  • Это обновление в основном направлено на оптимизацию SEO.
  • Добавлены функции карты сайта (sitemap) и файла robots.txt для поисковых роботов.
  • Оптимизированы ссылки на статьи, автоматически переводя заголовки в пиньинь и изменяя URL-адреса на https://домен/название статьи в пиньине.html.
  • Включена функция nofollow и исключены ссылки на дружественные сайты.

2021 год, 4 апреля, основная функциональность, версия 1.4

  • Добавлен образ Docker с чистым HTTP-режимом, использующий Traefik в качестве обратного прокси для управления сертификатами ACME и перенаправления HTTP на HTTPS. Функция ACME больше не предоставляется непосредственно Docker.
  • Улучшено качество шрифтов, отдавая предпочтение моноширинным шрифтам, таким как Sarasa Mono SC, для улучшения читаемости кода.

2021 год, 6 мая, основная функциональность, версия 1.5

  • Добавлена карта сайта Baidu: baidusitemap.xml.
  • Все глобальные переменные окружения домена теперь используются для обеспечения прямой совместимости образа без необходимости изменения конфигурации.

2021 год, 13 мая, основная функциональность, версия 1.6

  • Добавлены функции активной отправки в поисковые системы Baidu, Bing и Google.
  • Файлы _config.yml и _config.theme.yml переведены в режим внешнего монтирования, позволяя пользователям выбирать соответствующие файлы конфигурации в зависимости от своих потребностей.
  • Для настройки SEO-плагинов рекомендуется обратиться к документации hexo-submit-urls-to-search-engine на китайском языке.
  • Упрощено управление статистикой посещений сайта Baidu путём получения идентификатора Baidu Analytics.

Планы по реализации функций, версия 1.7

  • Добавлена функция автоматического создания сертификатов Let's Encrypt ACME DNS на платформе Alibaba Cloud.
  • Реализовано автоматическое добавление записей A с использованием API DNS Alibaba и Tencent.

Способ развёртывания

[Рекомендуется] Развёртывание с использованием docker-compose со ссылкой на файл конфигурации:

Gitee docker-compose.yaml

Github docker-compose.yaml:

# Запуск сервиса
docker-compose up -d
# Остановка сервиса
docker-compose down

Развёртывание с помощью Docker:

docker run -p 80:80 \
# Каталог для хранения блогов
-v /mdfiles:/blog/source/_posts \
# Файл авторизации для Google SEO
-v /google_service_account.json:/blog/google_service_account.json \
# Общий файл конфигурации
-v /_config.yml:/blog/_config.yml \
# Конфигурационный файл темы
-v /themes_config.yml:/blog/themes/next/_config.yml \
# Страница «О нас»
-v /index.md:/blog/source/about/index.md \
# Доменное имя сайта, без www, скрипт добавит его автоматически
-e "domainname=oubayun.com" \
# Токен авторизации Baidu SEO
-e "baidutoken=xxx" \
oubayun/hexo-blog:latest

[Не обновляется] HTTPS-развёртывание с помощью Docker:

docker run -p 80:80 -p 443:443 -v /mdfiles:/blog/source/_posts \
-e "domainname=www.oubayun.com" -e "baidutoken=xxxx" -e "DP_Id=xxxx" -e "DP_Key=xxxx" \
oubayun/hexo-blog:latest

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Этот сайт-зеркало создан на основе Hexo v4.2.0 + NexT.Gemini v7.7.2. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/oubayun-Hexo-Blog-Docker.git
git@api.gitlife.ru:oschina-mirror/oubayun-Hexo-Blog-Docker.git
oschina-mirror
oubayun-Hexo-Blog-Docker
oubayun-Hexo-Blog-Docker
master