Личный блог с открытым исходным кодом, разработанный с нуля

задняя часть открытый источник

предисловие

Эта статья в основном посвящена моему личному блогу с открытым исходным кодом, сначала опубликуйте адрес личного блога:Личный блог Сунь ЮчаоЭто не очень подходит для мобильных телефонов, но стиль ПК все еще довольно хорош. На самом деле, давным-давно некоторые пользователи сети спросили меня, могу ли я открыть исходный код моего личного блога. В то время я был очень смущен тем, что не открыл его. Я чувствовал, что код запутан. В конце концов, это было разработано, когда я только закончил. Тем не менее, работа становится все более занятой, а люди становятся ленивыми... Я давно не поддерживал его, так что давайте откроем его исходный код и позволим большему количеству нуждающихся использовать его.Адрес github будет размещен в конце статьи.. Честно говоря, хотя сложность кода этого проекта не очень высока, он включает в себя много технических моментов, он построен на облачном сервере, и резюме, безусловно, является плюсом для интервью.

Введение в проект

Этот проект блога был разработан мной в июле 2019 года и официально запущен в ноябре 2019 года. От дизайна пользовательского интерфейса -> разработка интерфейса -> разработка бэкенда -> тестирование -> развертывание и обслуживание, все это мое собственное, и я чувствую себя вполне глубокий., я многому научился из набора процедур. Настоятельно рекомендуется, чтобы новички создавали и учились, а также испытывали чувство проекта от разработки до запуска.

Передовая технология проекта

Собственный HTML + CSS + JavaScript + Layui + несколько небольших плагинов, таких как двухмерная девушка Канбан, нажмите на страницу, чтобы сыграть сердце, и т. д. В дополнение к коду CSS в теге заголовка HTML многие файлы CSS размещаются в статических файлах nginx.

Бэкэнд-технология проекта

Thymeleaf + SpringBoot + SpringMVC + MyBatis-Plus + Redis + MySQL + ElasticSearch + Nginx + RabbitMQ В то время это было еще и для обучения, поэтому я форсировал некоторые технические компоненты, но если вы не знакомы с ним, вы можете посмотреть его в качестве демонстрации.Если вы не хотите использовать эти компоненты, вы можете удалить их из код, что тоже очень удобно.

Развертывание проекта

Все приложения развертываются с помощью docker-compose, а все файлы конфигурации docker-compose.yml также размещаются на github, вам нужно только установить docker-compose на сервер и запускать docker напрямую соответствующими командами.

Структура проекта

Всего в проекте три приложения

  • Основное приложение сайта
  • Приложение онлайн-инструмента
  • Система фонового управления

Структура каталога проекта:

image.png

  • blog-core-application-service — основное приложение сайта
  • blog-core-onlineutils-service — приложение для онлайн-утилиты
  • BLOG-CORE-Manage - Фоновая система управления
  • blog-core-utils —— Все инструменты приложения, набранные в jar
  • blog-core-dao — Классы сущностей и Mapper для всех приложений, введенные в jar
  • docker-compose — развертывание всех приложений и технического программного обеспечения с помощью docker-compose.

Примечания к процессу развертывания/запуска

Во-первых, вам нужно подготовить эти среды и настроить адрес базы данных, адрес Redis, RabbitMQ и другую информацию о подключении в файле конфигурации application.yml в программе.

image.png

В моем проекте в качестве сервера изображений используется zimg.Если у вас есть собственный сервер изображений, такой как Alibaba Cloud OSS, вам не нужно запускать zimg. Просто замените адрес изображения в проекте.Кроме того, многие статические ресурсы, введенные в проект, являются моими доменными именами, которые необходимо изменить на свои.

image.png

В проекте используется большое количество шрифтов, иконки взяты изБиблиотека векторных иконок Alibabaбрать.

Эпилог

В этом наборе проектов нет никаких деловых трудностей, и все они представляют собой очень простые добавления, удаления, модификации и проверки, которые легко понять. Он охватывает такие технические аспекты, как SpringBoot, Interceptor, MyBatis-Plus, Lombok, Redis, RedisSession, ElasticSearch, RabbitMQ и т. д. Хотя интерфейсная технология является относительно отсталой, ее настоятельно рекомендуется изучить новичкам.

Даже если вы не хотите изучать код, вы можете просто развернуть его напрямую, функции почти готовы, и вам не нужно менять исходный код~

Адрес кода на гитхабе:код личного блога

Вы можете спросить меня о блоге, если эта статья поможет вам, не будьте белыми, не забывайте обращать внимание. Ваша поддержка — это движущая сила, которую я продолжаю творить!