предисловие
Эта статья в основном посвящена моему личному блогу с открытым исходным кодом, сначала опубликуйте адрес личного блога:Личный блог Сунь ЮчаоЭто не очень подходит для мобильных телефонов, но стиль ПК все еще довольно хорош. На самом деле, давным-давно некоторые пользователи сети спросили меня, могу ли я открыть исходный код моего личного блога. В то время я был очень смущен тем, что не открыл его. Я чувствовал, что код запутан. В конце концов, это было разработано, когда я только закончил. Тем не менее, работа становится все более занятой, а люди становятся ленивыми... Я давно не поддерживал его, так что давайте откроем его исходный код и позволим большему количеству нуждающихся использовать его.Адрес 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 напрямую соответствующими командами.
Структура проекта
Всего в проекте три приложения
- Основное приложение сайта
- Приложение онлайн-инструмента
- Система фонового управления
Структура каталога проекта:
- 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 в программе.
В моем проекте в качестве сервера изображений используется zimg.Если у вас есть собственный сервер изображений, такой как Alibaba Cloud OSS, вам не нужно запускать zimg. Просто замените адрес изображения в проекте.Кроме того, многие статические ресурсы, введенные в проект, являются моими доменными именами, которые необходимо изменить на свои.
В проекте используется большое количество шрифтов, иконки взяты изБиблиотека векторных иконок Alibabaбрать.
Эпилог
В этом наборе проектов нет никаких деловых трудностей, и все они представляют собой очень простые добавления, удаления, модификации и проверки, которые легко понять. Он охватывает такие технические аспекты, как SpringBoot, Interceptor, MyBatis-Plus, Lombok, Redis, RedisSession, ElasticSearch, RabbitMQ и т. д. Хотя интерфейсная технология является относительно отсталой, ее настоятельно рекомендуется изучить новичкам.
Даже если вы не хотите изучать код, вы можете просто развернуть его напрямую, функции почти готовы, и вам не нужно менять исходный код~