cloud-yblog是yblog的微服务版本,是一个基于SpringCloud分布式微服务架构开发的博客系统
cloud-yblog是基于SpringCloud+springCloud alibaba分布式微服务框架开发的博客:博文管理、统计图表、接口监控、访问记录、附件管理、用户管理、友链管理、监控管理、抓取博文、代码生成器,以及第三方登录等功能,且一直会对本项目进行加强,请各位大佬多多指点,一起共同进步。 文章无需自己写,可以使用作者自己编写的全自动爬虫工具即可,只需轻轻一点,万千文章到手。
https://blog.csdn.net/weixin_50071998?type=blog
GitHub: https://github.com/youzhengjie9/yblog
Gitee: https://gitee.com/youzhengjie/springBootBlog
类别 | 名称 |
---|---|
编译器 | IntelliJ IDEA |
系统1 | Windows 10 |
系统2 | CentOS 7 |
CPU | Intel i5-9300H |
内存 | 24GB |
名称 | 版本 |
---|---|
Spring Boot | 2.3.2.RELEASE |
Spring Cloud | Hoxton.SR8 |
Spring Cloud Alibaba | 2.2.3.RELEASE |
Nacos | 1.4.1 |
Sentinel | 1.8.0 |
Seata | 1.3.0 |
ZipKin | 2.12.9 |
elasticSearch | 7.6.1 |
Kibana | 7.6.1 |
MySQL | 5.7 |
名称 | 官网 |
---|---|
Spring Boot | https://spring.io/projects/spring-boot |
Spring Cloud | https://spring.io/projects/spring-cloud |
Spring Cloud Alibaba | https://spring.io/projects/spring-cloud-alibaba |
Nacos | https://nacos.io/zh-cn/ |
Seata | http://seata.io/zh-cn/ |
Sentinel | https://github.com/alibaba/Sentinel |
ZipKin | https://zipkin.io/ |
Redis | http://www.redis.cn/ |
RabbitMQ | https://www.rabbitmq.com/ |
elasticSearch | https://www.elastic.co/cn/elasticsearch/ |
Kibana | https://www.elastic.co/cn/kibana/ |
MyBatis | http://www.mybatis.org/mybatis-3/zh/index.html |
Spring Security | https://spring.io/projects/spring-security/ |
PageHelper | http://git.oschina.net/free/Mybatis_PageHelper |
Maven | http://maven.apache.org/ |
MySQL | https://www.mysql.com/ |
Swagger2 | https://swagger.io/ |
Druid | https://github.com/alibaba/druid |
fastjson | https://github.com/alibaba/fastjson/ |
sjf4j | http://www.slf4j.org/ |
thumbnailator | https://github.com/coobird/thumbnailator |
Nginx | http://nginx.org/en/download.html |
名称 | 描述 | 官网 |
---|---|---|
jQuery | 函数库 | http://jquery.com/ |
Bootstrap | 前端框架 | https://v3.bootcss.com/ |
echarts | 可视化图表库 | https://echarts.apache.org/zh/index.html |
Thymeleaf | 模板引擎 | https://www.thymeleaf.org/ |
TinyMCE | 富文本编辑器 | http://tinymce.ax-z.cn/ |
alertJs | 弹框插件 | https://gitee.com/ydq/alertjs |
layui | 模块化前端UI框架 | https://www.layui.com/ |
需要有springCloud alibaba和springCloud+springBoot的基础(最起码要会安装软件!!!)
worker_processes 2;
worker_rlimit_nofile 10240;
events {
worker_connections 10240;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
server_tokens off;
client_max_body_size 100m;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
client_header_buffer_size 4k;
open_file_cache max=10240 inactive=20s;
open_file_cache_valid 30s;
open_file_cache_min_uses 1;
#gzip on;
gzip on;
gzip_http_version 1.1;
gzip_vary on;
gzip_comp_level 6;
gzip_proxied any;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_buffers 16 8k;
gzip_disable "MSIE [1-6]\.";
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 128k;
upstream cloudYblog.index.cn{
server localhost:3201 weight=1;
}
upstream cloudYblog.admin.cn{
server localhost:91 weight=1;
}
#cloud-yblog的web模块首页
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
proxy_pass http://cloudYblog.index.cn;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
#cloud-yblog的admin模块后台
server {
listen 90;
server_name localhost;
location / {
root html;
index index.html index.htm;
proxy_pass http://cloudYblog.admin.cn;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
把cloud-yblog-doc模块中的工具放到自己的电脑上安装。
启动Nacos、seata、sentinel、zipkin、Nginx、Redis、ElasticSearch
导入cloud-yblog-doc的sql文件到你们MySQL上
注意:如需使用爬虫功能,则需要对mysql做出如下配置。
1.修改mysql的配置文件mysql/bin/my.ini, 添加如下内容:
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
character-set-client-handshake=FALSE
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
2.重启数据库服务。点击此电脑,右键打开管理,点击服务和应用程序、点击服务、找到MYSQL服务 ,右键重新启动即可
3.进入mysql命令行,输入ALTER TABLE TABLE_NAME CONVERT TO CHARACTER SET utf8mb4; 把mysql的utf8编码切换成utf8mb4,以支持爬取的emoji表情,不然遇到4字节的宽字符就会插入异常了。
如果是虚拟机部署或者docker部署的话,请检查是否有端口占用并打开本系统需要的端口。
第一次使用需要初始化cloud-yblog,只需要把cloud-yblog-search模块中的SearchController 的loadArticleToElaticSearch方法的注释解除后运行一次即可,然后再注释回去。
评论模块需要自己去https://www.leancloud.cn/ 注册,获取AppID、AppKey,并加入到下面对应的js
new Valine({
el: '#vcomments',
appId: 'xxx',
appKey: 'yyy',
placeholder: '请输入内容',
pageSize: 3 ,
recordIP: true,
avatar:'',
requiredFields: ['nick']
});
前提:你的Linux系统必须要安装了Docker。(然后按顺序执行下面的命令)
首先要启动docker,因为docker默认是关闭的,需要自己去开启
systemctl start docker #启动docker容器
systemctl start firewalld #打开防火墙
firewall-cmd --list-port #查看防火墙已经打开的端口
######重要:记得打开端口
firewall-cmd --zone=public --add-port=91/tcp --permanent #打开91端口
firewall-cmd --zone=public --add-port=2801/tcp --permanent #打开2801端口
firewall-cmd --zone=public --add-port=5672/tcp --permanent #打开5672端口
firewall-cmd --zone=public --add-port=15672/tcp --permanent #打开15672端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --zone=public --add-port=5601/tcp --permanent
firewall-cmd --zone=public --add-port=9100/tcp --permanent
firewall-cmd --zone=public --add-port=9200/tcp --permanent
firewall-cmd --zone=public --add-port=1660/tcp --permanent
firewall-cmd --zone=public --add-port=3201/tcp --permanent
firewall-cmd --zone=public --add-port=6201/tcp --permanent
firewall-cmd --zone=public --add-port=8901/tcp --permanent
firewall-cmd --zone=public --add-port=5566/tcp --permanent
firewall-cmd --zone=public --add-port=5301/tcp --permanent
firewall-cmd --zone=public --add-port=1901/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=81/tcp --permanent
####因为使用到了springCloud alibaba组件,所以要额外打开一些端口
firewall-cmd --zone=public --add-port=8848/tcp --permanent #nacos端口
firewall-cmd --zone=public --add-port=8720/tcp --permanent #sentinel传输端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent #sentinel dashboard
firewall-cmd --zone=public --add-port=8091/tcp --permanent #seata端口
firewall-cmd --zone=public --add-port=9411/tcp --permanent #zipkin端口
####重要:记得重新加载防火墙(不然上面的设置不会生效)
firewall-cmd --reload
=> 1:Docker安装关系型数据库--MySQL 教程 <=
docker pull mysql:5.7 #从从Docker仓库里面拉取mysql5.7
docker images #查看从Docker镜像
docker run -itd --name yblog-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=18420163207 mysql:5.7 #执行从Docker镜像,生成从Docker的mysql容器,返回mysql的实例
docker ps #查看从Docker容器实例
docker exec -it yblog-mysql /bin/bash #执行mysql容器实例
mysql -u root -p #紧接着执行这句命令,然后就输入你的密码就行了
=> 2:Docker安装非关系型数据库--Redis 教程 <=
docker pull redis:latest #从Docker仓库拉取最新的Redis镜像
docker run -itd --name yblog-redis -p 6379:6379 redis #运行redis镜像,生成对应容器实例
docker exec -it yblog-redis /bin/bash
redis-cli #输入就能进入redis客户端
=> 3:Docker安装消息队列--RabbitMQ 教程 <=
docker pull rabbitmq #从Docker仓库拉取最新的RabbitMQ镜像
docker run -d --hostname my-rabbit --name yblog-rabbit -p 15672:15672 -p 5672:5672 rabbitmq #运行RabbitMQ镜像
docker exec -it yblog-rabbit /bin/bash #进入RabbitMQ容器
rabbitmq-plugins enable rabbitmq_management #安装RabbitMQ的插件
注意:要打开RabbitMQ的可视化界面,创建一个虚拟主机为:/ems
4:用Navicat把cloud-yblog-doc模块中的数据库全部导入到Docker的mysql中,即可!!!
5:修改配置文件的IP为你的Linux系统的IP然后打成jar包,并且把cloud-yblog各个微服务打出来的Jar包传入到Linux系统,然后通过java -jar jar包名 的命令启动即可
前台界面👇
后台界面👇
登录界面👇
注册界面👇
代码生成器👇
生成效果展示👇
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。