CMS 内容管理系统、网页静态化、全文检索
# 简介
JeeSite CMS 内容管理,是一个轻量级的 Web 建站神器,可以快速进行企业网站、门户网站、个人博客、知识库等建设。
- 基础功能:站点管理、栏目管理、栏目权限、模板管理、内容发布
- 高级功能:多租户、多站点、页面静态化访问、全文检索
特点:网站模板灵活性高、基于 JeeSite 易于结合业务进行二次开发
# 快速体验
# 在线演示
- 前端演示:http://vue.jeesite.com/js/f/index-main.html (opens new window)
- 后端演示:http://vue.jeesite.com/js/a/index#/js/a/cms/index#内容发布 (opens new window)
- 后端账号:system 密码详见登录页面红字提示免费获取
# 部署方法
# 引入模块依赖
<!-- 内容管理系统 -->
<dependency>
<groupId>com.jeesite</groupId>
<artifactId>jeesite-module-cms</artifactId>
<version>${project.parent.version}</version>
</dependency>
2
3
4
5
6
# 初始化数据库
引入模块后执行:/web/bin/init-data.bat(sh)
即可初始化。
# 网页静态化
基于高速缓存技术,性能极好,访问网页的时候自动静态化网页内容。
高频访问网站的时候,不再因为内容实时从数据库中获取,导致的性能瓶颈。
具有良好的操作和维护性,当修改站点、栏目或文章的时候,自动更新静态化网页内容缓存,让您省心。
# 引入模块依赖
<!-- 内容管理-页面静态化 -->
<dependency>
<groupId>com.jeesite</groupId>
<artifactId>jeesite-module-cms-pagecache</artifactId>
<version>${project.parent.version}</version>
</dependency>
2
3
4
5
6
注意:v5.3.2+ 标准版提供,此模块依赖,请向售后人员索取。
# 参数配置
cms:
pageCache:
# 是否开启页面静态化缓存
enabled: true
# 缓存名称标识
cacheName: cmsPageCache
# 拦截的网页地址
urlPatterns: ${frontPath}/*
# 只静态化 .html 后缀的网页
urlSuffixes: .html
j2cache:
caffeine:
region:
# 设置缓存的超期时间,默认 7天,根据需要可以设置更久。
cmsPageCache: 100000, 7d
spring:
cache:
# 如果您是专业版,还可以将静态化数据存储到 Redis 当中
isClusterMode: true
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 功能测试
随便访问网站的几个网页,如果在日志里可以查看到 PageCacheFilter 日志信息,说明安装成功
# 网站全文检索
JeeSite 全文检索使用使用 Elasticsearch 实现(简称:ES),ES 是一个实时分布式搜索和分析引擎,ES 底层是基于高性能的 Lucene 实现,而对是一套简单的 RestFul API 让我们更简单去实现我们所需要的全文搜索的功能。
JeeSite 是基于目前最好用的 RestHighLevelClient 客户端调用的 ES 服务。
# 安装 Elasticsearch
如果您已经安装了 ES,请确认是否安装了中文分词插件,如果都有,可以忽略本节。
本节使用 Windows 操作系统环境为例介绍安装。
# 下载 ES 软件
环境要求 JDK1.8 以上(建议 JDK 11)、ES 版本 7.6.2,本节使用该版本及 Windows 环境为例如下:
- https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.2-windows-x86_64.zip (opens new window)
- https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.13.4-windows-x86_64.zip (opens new window)
注意:Spring Boot 2 下载 Kibana 7.x 版本,Spring Boot 3 请下载 Kibana 8.x 版本
其它版本在这里查找:https://www.elastic.co/cn/downloads/elasticsearch (opens new window)
下载后解压文件到 elasticsearch-7.6.2-windows-x86_64 目录下。
打开 elasticsearch-7.6.2-windows-x86_64/config/elasticsearch.yml 文件,根据自己的情况进行配置:
cluster.name: my-application
network.host: 127.0.0.1
http.port: 9200
# 因为 elasticsearch-head 需要,一定要添加上
http.cors.enabled: true
http.cors.allow-origin: "*"
2
3
4
5
6
7
# 下载 ES 分词插件
- https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.7.2/elasticsearch-analysis-ik-6.7.2.zip (opens new window)
- https://github.com/medcl/elasticsearch-analysis-pinyin/releases/download/v6.7.2/elasticsearch-analysis-pinyin-6.7.2.zip (opens new window)
下载后 2 个文件是源码包,需要自行编译下,手动解压,进入到目录分别执行:
cd elasticsearch-analysis-ik-6.7.2
mvn clean package -Dmaven.test.skip=true
cd elasticsearch-analysis-pinyin-6.7.2.zip
mvn clean package -Dmaven.test.skip=true
2
3
4
5
执行编译完成后分别在 target/release 目录下得到 2 个 zip 文件:
- elasticsearch-analysis-ik-6.5.0.zip
- elasticsearch-analysis-pinyin-6.3.0.zip
分别解压这个这 2 个 zip 文件,到 ES 插件目录下:
- elasticsearch-7.6.2-windows-x86_64\plugins\analysis-ik
- elasticsearch-7.6.2-windows-x86_64\plugins\analysis-pinyin
# 运行 ES 服务
cd elasticsearch-7.6.2-windows-x86_64/bin
elasticsearch.bat
2
在启动日志里可以看到 loaded plugin 加载 analysis-ik 和 analysis-pinyin 的日志,说明插件安装成功。
# 安装可视化工具
安装目标主要是为了对 ES 中索引的数据提供搜索和数据可视化功能。
有两种工具:Kibana 或 elasticsearch-head 根据喜好任选其一。
# 安装 Kibana
- 下载
下载 Kibana 版本要和 ElasticSearch 版本匹配。
- https://artifacts.elastic.co/downloads/kibana/kibana-7.6.2-windows-x86_64.zip (opens new window)
- https://artifacts.elastic.co/downloads/kibana/kibana-8.13.4-windows-x86_64.zip (opens new window)
注意:Spring Boot 2 下载 Kibana 7.x 版本,Spring Boot 3 请下载 Kibana 8.x 版本
其它版本在这里查找:https://www.elastic.co/cn/downloads/kibana/ (opens new window)
下载后解压文件到 kibana-7.6.2-windows-x86_64 目录下。
- 配置
修改 config/kibana.yml 文件的语言参数:
i18n.locale: "zh-CN"
- 运行
确保 ES 服务已经启动,然后运行 bin/kibana.bat
即可。
- 浏览器访问
地址:http://localhost:5601/ (opens new window)
- 进入界面后,首先需要创建索引
创建索引,菜单:Management -> Kibana -> 索引模式 -> 创建索引模式
索引模式填写 js_cms_article
点击 “下一步” 按钮,接着点击 “创建索引模式” 按钮即可。
- 常见问题
如果提示 “Forbidden” 可能是因为磁盘空间不足导致 “索引变成只读状态”。
先保证磁盘使用率 90% 以下,菜单:Dev Tools -> 控制台填写如下内容:
PUT _settings
{
"index": {
"blocks": {
"read_only_allow_delete": "false"
}
}
}
2
3
4
5
6
7
8
然后点击编辑器右侧的 “三角号” 执行发送请求即可。
# 安装 ES-head
- 下载
git clone https://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
2
- 编译
yarn config set registry https://registry.npm.taobao.org
yarn install
2
- 运行
npm run start
- 浏览器访问
地址:http://localhost:9100/ (opens new window)
# 引入模块依赖
<!-- 内容管理-网站全文检索 -->
<dependency>
<groupId>com.jeesite</groupId>
<artifactId>jeesite-module-cms-elasticsearch</artifactId>
<version>${project.parent.version}</version>
</dependency>
2
3
4
5
6
注意:v5.3.2+ 专业版提供,此模块依赖,请向售后人员索取。
# 参数配置
spring:
elasticsearch:
enabled: true
uris: http://127.0.0.1:9200
connection-timeout: 120s
# V5.5.2 之前添加
spring:
data:
elasticsearch:
# 开启 ES 功能
enabled: true
# 设置 ES 服务地址
client:
reactive:
endpoints: 127.0.0.1:9200
# 连接超时的时间
properties:
transport:
tcp:
connect_timeout: 120s
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 功能测试
- 进入菜单 “站点管理” 在列表上点击 “重建索引” 按钮,可以对当前库里的文章信息,进行存储到 ES 中。
- 根据需要还可以根据栏目进行重建索引,进入菜单 “栏目管理” 在列表上点击 “重建索引” 按钮。
- 当新增、修改或删除文章的时候都会进行自动化更新索引,无需手动更新。
- 进入网站,在右上角,填入关键字,搜索即可查看效果。