全站静态化啥意思

springboot+mybatis+beetl开发的一款CMS、全站静态化等功能

springboot+mybatis+beetl开发的一款CMS,支持自定义内容模型、模板标签、全站静态化等功能。

六个最受欢迎的 CMS 建站系统,不容错过|Gitee项目推荐

CMS 是 Content Management System 的缩写,意为"内容管理系统"。 内容管理系统是企业信息化建设和电子政务的新宠,也是一个相对较新的市场。对于内容管理,业界还没有一个统一的定义,不同的机构有不同的理解。CMS 在各行各业的应用非常广泛,下面小编就推荐六个 Gitee 上 star 数破千的高人气开源项目,快来看看吧。

1、项目名称:完整开源的J2EE系统 MCMS

项目简介:完整开源,于SpringBoot 2架构,前端基于vue、element ui。每月28定期更新版本,为开发者提供上百套免费模板,同时提供适用的插件(文章、商城、微信、论坛、会员、评论、支付、积分、工作流、任务调度等...),一套简单好用的开源系统、一整套优质的开源生态内容体系。

项目地址:

2、项目名称:网市场云建站系统 wangmarket

项目简介:网市场云建站系统,延续了织梦CMS、帝国CMS的模版制作方式,一台2核4G服务器可建立四万个网站!系统成熟、流程完善、细节精致、使用简单。极低的成本投入,半分钟安装部署,选好模版一键导入。历经8年,不断完善。

项目地址:

3、项目名称:Java 语言开发的 CMS

项目简介:一款使用 Java 语言开发的 CMS,使用了 Spring MVC,Spring,MyBatis 等流行框架,提供首页大图管理、目录管理、文章管理和管理员管理等功能。是学习和二次开发的首选。

项目地址:

4、项目名称:Java 开发的信息咨询网站 jfinal cms

项目简介:jfinal cms是一个java开发的功能强大的信息咨询网站,采用了简洁强大的JFinal作为web框架,模板引擎用的是 beetl,数据库用 mysql,前端 bootstrap 框架。 支持 oauth2 认证、帐号注册、密码加密、评论及回复,消息提示,网站访问量统计,文章评论数和浏览量统计,回复管理,支持权限管理。 后台模块包含:栏目管理,栏目公告,栏目滚动图片,文章管理,回复管理,意见反馈,我的相册,相册管理,图片管理,专辑管理、视频管理、缓存更新,友情链接,访问统计,联系人管理,模板管理,组织机构管理,用户管理,角色管理,菜单管理,数据字典管理。

项目地址:

5、项目名称:现代化 java cms PublicCMS

项目简介:PublicCMS 是采用 2018 年最新主流技术开发的开源 JAVACMS 系统。架构科学,轻松支持上千万数据、千万 PV;支持全站静态化,SSI,动态页面局部静态化等为您快速建站,建设大规模站点提供强大驱动,也是企业级项目产品原型的良好选择。现代化 java cms,轻松支撑千万数据、千万PV。

项目地址:

6、项目名称:基于 ThinkJS(Node.js MVC) 和 MySQL 的CMS建站系统 CMsWing

项目简介:一款基于 ThinkJS(Node.js MVC) 和 MySQL 的功能强大的(PC端,手机端和微信公众平台)电子商务平台及CMS建站系统。

项目地址:

点击【了解更多】,获取更多 CMS 建站系统。

PbootCMS性能优化研究之提升网页访问速度

我们在使用pbootcms建站时候,肯定想以最优的速度打开网站,下面总结了一些经验,希望大家在建站时候能够用到上。

程序&服务器

首先说明这里讲的网页速度是排除掉静态资源加载的,这里的速度是用户访问域名然后程序响应回来所花的时间,主要影响因素有以下几点:

1、服务器配置

配置高的服务器响应速度差别还是很明显的,但是一般情况下咱们的数据量不是超大,例如几万,那么区别不明显。

2、CMS程序

这个可能是影响这个速度最明显的地方,pbootcms目前发现的是如果数据量大、内容自定义字段过多、页面中判断层级大于2级等都容易造成网页响应速度下降明显。

3、数据库影响

pbootcms默认使用的是sqlite,如果数据超过1w建议换成mysql。如果说一开始确定好了采集方向,那提前使用mysql会节省很多头发。

优化方案

1、减少if层级,控制在2层

2、数据量和字段数一般没法控制,看具体项目,所以得考虑前台调用代码去优化

3、页面纯静态化,目前还没有此功能暂不考虑

下面针对前台调用代码进行分析下:

通过查找手册公共标签-其他格式化标签发现有个lfield参数,经过测试确实效果明显!在公共标签,其他格式化标签中有如下一段:

lfield="a,b" (V2.0.5新增)限制列表数据查询字段,提高大数据性能,如lfield="title,content"

使用案例,这些因为只需要调用title和date所以做了限制查询这两个字段即可。

{pbootcms:list scode=2 num=8 order='date desc' lfield=title,date}<li class="flex"> <a href="[list:link]" class="tit elp">[list:title]</a> <div class="date">[list:date style=Y-m-d]</div></li>{/pbootcms:list}

通过查看数据库查询语句发现pbootcms对于列表数据默认是查询内容主表ay_content和附表ay_content_ext的全部字段,这就导致了数据多的时候性能明显下降,特别注意的是附表是内容新增字段存放位置,这里就解释了为什么字段新增过多导致卡的原因了。

因此核心就是在于默认得限制字段调用,所以博主建议列表内容调用的时候养成默认增加lfield属性限制字段使用,同时也建议避免content在列表内容中调用,因为content字段数据一般都比较多,可以使用description字段替代。

这里提供个列表内容调用模板:

{pboot:list scode=20 num=20 order=date lfield=title,ico,date,description}<div class="col-12 col-lg-6 mb-3 wow fadeInUp" data-wow-delay="500ms"> <div class="media mb-3"> <div class="media-body"> <h5><a href="[list:link]" title="[list:title]">[list:title lencn=20]</a></h5> <p><a href="[list:link]" class="text-secondary lh-2">[list:description len=50] [list:date style=Y-m-d]</a></p> </div> </div></div>{/pboot:list}// lfield=title,ico,date,description 代表限制调用字段title,ico,date,description// [list:description len=50] 使用description来替代content