CMS系统多站点设计研究与最终解决方案

CMS系统多站点设计研究与最终解决方案,第1张

CMS系统站点设计研究

多站点有隔离多站点 和 数据共享的多站点

1) 数据共享 的多站点,一般叫做 站群

就是每个站点有自己的权限体系,主要迎合政府的需求

2) 完全隔离 的

就是用户、 内容、 完全不互型让通, 主要是降低单个站点的成本。

站群的实现方式一:

在发布的tomcat 的webapps目录下,复制镇粗更换项目名(甚至连同更换模板文件),即可实现同样多站点访问部署。

站群的实现方式二:

目前要达到一种站群配置,就是更高程度的利用原来框架

具体实施方式一:通过权限控制,根据模版文件来实现各自独立站点。

具体实施方式二:通过域名控制来实现站群管理。

多站点访问设计。

更改为按御租镇域名。

import com.jfinal.aop.Interceptor

import com.jfinal.aop.Invocation

import com.jfinal.core.Controller

import com.jfinal.core.JFinal

import com.jfinal.plugin.activerecord.Record

import com.ofsoft.cms.admin.controller.system.SystemUtile

import com.ofsoft.cms.core.config.AdminConst

import com.ofsoft.cms.core.config.ErrorCode

import com.ofsoft.cms.core.config.FrontConst

import com.ofsoft.cms.core.uitle.SiteUtile

import javax.servlet.http.HttpServletRequest

import java.util.List

/**

* 前端页面拦截器

* Created by OF on 2018/5/9.

*/

public class FrontInterceptor implements Interceptor {

public void intercept(Invocation ai) {

if (!SystemUtile.isInstall()) {

ai.getController().redirect(AdminConst.installHtml)

return

}

Controller controller = ai.getController()

HttpServletRequest request = controller.getRequest()

SiteUtile.setLocalRequest(request)

List<Record>list = SystemUtile.getSitCache()

Record site = null

if (list == null || list.size() <= 0) {

controller.renderJson(ErrorCode.get("10001"))

} else {

site = SiteUtile.getSite(request)

if (site == null) {

String server = request.getServerName()

System.out.println("=FrontInterceptor==="+server)

for (Record record : list) {

if (server.equals(record.getStr("domain_name"))) {

site = record

break//20190403---shenk-----add

}

}

}

if (site == null) {

SystemUtile.initSite()

site = SystemUtile.getDefualSitCache()

}

controller.setAttr(FrontConst.SITE_SESSION, site)

controller.setAttr("reroot",  http://JFinal.me() .getContextPath() + "/resource/" + site.get("template_path"))

SiteUtile.setSite(request, site)

SiteUtile.setSite(site)

//增加访问记录

SystemUtile.addAccessLog(request, site)

ai.invoke()

}

}

}

通过域名的方式,成功实现一个后台控制多个站点,即每个模板站点,都通过一个域名来访问,测试成功。

请看下图配置:

配置的4个子站,通过配置域名访问如下:

1、PHPCMS

采用PHP5+MYSQL做为技术基础进行开发。采用顷和OOP(面向对象)方式进行基础运行框架搭建。

功能特点:站群系统 多发布点 数据表分离 强大的内容模型 模板制作方便 提供银行级安全保护

官网: http://www.phpcms.cn/

2、织梦内容管理系统(DedeCMS)

DedeCMS早期是由个人开发,2007年底,在上海正式成立公司,专业于网站内容管理的开发

功能雀亮盯特点:灵活的模块组合 简单易用的模板引擎 便捷自定义模型 高效的动态静态页面部署 低维护成本

官网: http://www.desdev.cn/

3、蝉知企业门户系统(chanzhiEPS)

蝉知企业门户系统(changezhiEPS)是一款开源免费的企业门户系统,专为企业营销设计!

功能特点:专注企业营销 真开源真免费 技术先进体验好 使用放心有保障

官网: http://www.chanzhi.org/

4、帝国(EmpireCMS)

帝国CMS基于B/S结构的网站管理系统。由帝国开发工作组独立开发,是一个经过完善设计的键纤适用于Linux/windows/Unix等环境下的网站解决方案。

功能特点:系统模型扩展功能 大容量数据结构设计 系统高安全性设计 碎片调用信息功能

官网: http://www.phome.net/

逐浪CMS早在4.0版本中就开放了站群,当然这次也对站群做了优化的。

站群系统是面对大型网站、企业开放的一个应用。开发者可以通过站群系统快速建立起以相对独立、却又受制于总站管理的网站群体。

作为一个站群系统,其必须具备的特征包括:

A、 由管理员建立赋予各个分站,并拥有独立的界面和UI以及权限;

B、 各个分站间相应独立,且不受影响

C、 能够在相对独立的环境下运营并授受访客浏览

D、 各个子站间可以进行数据交互,而不是一个个的“数据孤岛”。

Zoomla!逐浪CMS作为国内首家推出标准站群系统应用的服务站,从4.1版起对所有的用户开放站群系统,为用户提供卓越的站群软件服务

逐浪CMS的站群系统分物理隔离大站群系统、普通站群系统两大系列。

一、普通站群系统描兄尺纤述

从Zoomla!逐浪CMS系统3.2版开始,系统将后台分为传统模式和站群模式,其中站群模式提供基于站群的商务应用,使不同的人群进困伏入不同的后台,更加关注核心业务,减少开发者工作量。

您羡仿可以通过Zoomla!逐浪CMS的后台界面进入,网址是:http://您的网址/manage/login.aspx

更多的也可以访问官网做详细了解:http://www.zoomla.cn/product/pub/1093.shtml


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12338281.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存