Loading repository data…
Loading repository data…
moxi624 / repository
蘑菇博客(MoguBlog),一个基于微服务架构的前后端分离博客系统。Web端使用Vue + Element , 移动端使用uniapp和ColorUI。后端使用Spring cloud + Spring boot + mybatis-plus进行开发,使用 Jwt + Spring Security做登录验证和权限校验,使用ElasticSearch和Solr作为全文检索服务,使用Github Actions完成博客的持续集成,使用ELK收集博客日志,文件支持上传七牛云和Minio,支持Docker Compose脚本一键部署。
项目介绍 | 站点演示 | 项目特点 | 技术架构 | 项目目录 | 项目文档 | 快速开始 | 视频教程| 项目截图 | 更新记录 | 笔记仓库
陌溪 是一个从三本院校一路摸滚翻爬上来的程序员。目前就职于字节跳动的Data商业化广告部门,是字节跳动全线产品的商业变现研发团队。这两天创建了一个 微信公众号【陌溪教你学编程】,未来将会在公众号上持续性的输出很多原创小知识以及学习资源,欢迎各位小伙伴关注我,和我一起共同学习,同时我也希望各位小伙伴能够给蘑菇博客项目多多 Star 支持,您的点赞就是我维护的动力!
项目已有较详细的 项目搭建文档 ,同时包括了 Windows、Linux 以及 Docker 环境下蘑菇博客的搭建。在使用过程中遇到问题时,首先认真阅读项目搭建文档 ,同时 FAQ文档 还收集了小伙伴咨询的问题,可以提前阅读~
【提问前】可以先 百度 或者 Google 进行解决,有的问题通过搜索引擎很快就能得到解决
【提问前】可以首先看看 issue 或者 FAQ文档,可能你的问题别人也遇到过
【提问前】可以提前阅读 如何向开源社区提问题
【提问】推荐使用 Gitee issue 进行提问,因为issue解决后能够保留解决记录,帮助其它小伙伴避坑。其次可以使用 蘑菇社区, QQ群 或者 微信群 进行提问。群里提问注意提问的时间,把遇到问题的详细过程都描述清楚,最好配上图文信息,这样能有利于更高效的解决问题。
目前字节跳动拥有大量岗位需求,欢迎点击下方内推链接【内推码: WYU3X8M】选择合适的岗位投递。小伙伴们使用内推链接投递后,可以通过 公众号 联系我跟进面试进度。
蘑菇博客( MoguBlog ),一个基于微服务架构的前后端分离博客系统。Web 端使用 Vue + ElementUi , 移动端使用 uniapp 和 ColorUI。后端使用 SpringCloud + SpringBoot + Mybatis-plus进行开发,使用 Jwt + SpringSecurity 做登录验证和权限校验,使用 ElasticSearch 和 Solr 作为全文检索服务,使用 Github Actions完成博客的持续集成,使用 ElasticStack 收集博客日志,文件支持上传本地、七牛云 和 Minio.
蘑菇博客使用了一些监控的 SpringCloud 组件,但是并不一定都需要部署,必须启动的服务包含
nacos,nginx,rabbitmq, redis,mysql,mogu-gateway,mogu-sms,mogu-picture, mogu-web, mogu-admin
其它的服务都可以不启动,也不影正常使用,可以根据自身服务器配置来启动
最低配置:1核2G 【需开启虚拟内存】【容易宕机】
推荐配置:2核4G 【狂欢特惠】【博主目前配置】
最近,腾讯云和阿里云的优惠力度非常大,如果有需求的小伙伴,可以了解一下~
【阿里云】云服务器狂欢特惠,2核2G5M 轻量级应用服务器 60 元/年 点我传送
【腾讯云】云产品限时秒杀,爆款 2核4G8M 云服务器,首年 74元/年、222/3年【博主强烈推荐】点我传送
首先特别感谢群里小伙伴 @鹏 对蘑菇博客提供服务器支持,利用服务器穿透到小主机搭建了演示环境。同时我也在搭建的时候,顺便录制了一套视频:20分钟部署一个微服务架构的博客系统 ,感兴趣的小伙伴可以参考视频一起完成部署~
【社区演示前端】:http://103.85.84.19:39527/
【社区演示后端】:http://103.85.84.19:39528/
【演示账号】:点击获取
【小程序】蘑菇博客的移动端版本,可以扫码体验。参考 蘑菇博客小程序部署 文档,以及Bilibili上 20分钟部署博客小程序视频 完成小程序的搭建。【下面是社区版的小程序演示】
项目后台目前有 Eureka 版本和 Nacos 版本,其中 Eureka 版本使用的是 SpringCloud 一些组件,Nacos 版本使用的是 SpringCloudAlibaba 的一些组件,例如 Nacos、Sentinel 等
蘑菇博客的定位是个人博客系统,而蘑菇博客社区版定位是多人博客系统。蘑菇社区版在原有蘑菇博客的基础上加入了更多的社区玩法,如:支持用户投稿、个人主页、用户签到、关注/取关、收藏/点赞、积分模块、VIP特权功能、用户动态(蘑菇圈)、面经模块、课程模块、消息通知、公众号登录/管理、私信/群聊模块、SEO优化、图片敏感审核、任务模块、成就模块、勋章模块、支付模块、提现模块、消息触达、资源模块、抽奖模块等。。
关于蘑菇社区功能模块的介绍,可查看:蘑菇社区功能模块介绍
关于蘑菇社区版的学习/商用授权,以及查看版本对比,可以查看:点我跳转
社区版演示环境如下,目前 蘑菇官网 使用的是蘑菇博客社区版代码。
【社区演示前端】:http://103.85.84.19:29527/
【社区演示后端】:http://103.85.84.19:29528/
【演示账号】:点击获取
目前,蘑菇社区版源码暂未开源,可通过 赞助蘑菇 的方式获取源码授权,详情可添加陌溪微信了解:coder_moxi (备注:蘑菇社区)
mogu_blog_go 是根据蘑菇博客改编的一个 Golang 简化版分支,实现了蘑菇博客后台原有的大部分基础功能,同时前端代码和数据库基本没有变化,因此可以直接使用蘑菇博客原有的前端页面。
mogu_blog_go 目前采用的技术有:beego、gorm、mysql、redis 和 nginx。相比于蘑菇博客微服务版,Golang版蘑菇能够做到 1C2G 的服务器轻松运行,再也不怕网站第二天起来就宕机了~。
参考蘑菇博客Golang版安装指南,快速在 Windows 平台搭建蘑菇博客Go版开发环境
目前项目托管在 Gitee 和 Github 平台上中,欢迎大家 Star 和 Fork 支持~
(目前还未完善)(目前还未完善)目前使用java -jar的方式启动(目前还未完善)蘑菇博客系统架构图,使用 Processon 在线绘制
| 技术 | 说明 | 官网 |
|---|---|---|
| SpringBoot | MVC框架 | https://spring.io/projects/spring-boot |
| SpringCloud | 微服务框架 | https://spring.io/projects/spring-cloud/ |
| SpringSecurity | 认证和授权框架 | https://spring.io/projects/spring-security |
| MyBatis-Plus | ORM框架 | https://mp.baomidou.com/ |
| Swagger-UI | 文档生产工具 | https://github.com/swagger-api/swagger-ui |
| Kibana | 分析和可视化平台 | https://www.elastic.co/cn/kibana |
| Elasticsearch | 搜索引擎 | https://github.com/elastic/elasticsearch |
| Beats | 轻量型数据采集器 | https://www.elastic.co/cn/beats/ |
| Logstash | 用于接收Beats的数据并处理 | https://www.elastic.co/cn/logstash |
| Solr | 搜索引擎 | http://lucene.apache.org/solr/ |
| RabbitMQ | 消息队列 |
| Redis | 分布式缓存 | https://redis.io/ |
| Docker | 容器化部署 | https://www.docker.com |
| Druid | 数据库连接池 | https://github.com/alibaba/druid |
| 七牛云 | 七牛云 - 对象储存 | https://developer.qiniu.com/sdk#official-sdk |
| JWT | JWT登录支持 | https://github.com/jwtk/jjwt |
| SLF4J | 日志框架 | http://www.slf4j.org/ |
| Lombok | 简化对象封装工具 | https://github.com/rzwitserloot/lombok |
| Nginx | HTTP和反向代理web服务器 | http://ngin |