使用 Swoole 加速你的 CMS 系统,并实现热更新 (基于 Laravel 框架)

简介: 使用 Swoole 加速你的 CMS 系统,并实现热更新 (基于 Laravel 框架)

在这里插入图片描述

主题:使用 Swoole 加速你的 CMS 系统,并实现热更新

关于 Swoole 的简介不再在此赘述,各位可以自行查看官网的文档进行详细的了解。

本文以 MyCms 为例,简要说明 Swoole 结合传统的 CMS 系统进行使用,并实现热更新。

CMS系统:MyCms

(目前v3.3+以上版本重新编写了对 Swoole 的支持,移除了包swooletw/laravel-swoole。 使用新版本的用户直接安装后修改Nginx配置即可)

集成 Swoole 问题:

1、系统配置更新后无法实时读取

2、URL 别名生成后访问 404

3、插件安装出现问题

4、修改PHP文件后不生效

以上问题必须手动重启 swoole 才能生效

功能解决实现:

1、系统配置缓存更新后自行重载热更新

2、URL 路由别名缓存生成后自行重载热更新

3、插件安装/卸载后自行重载热更新

4、PHP 文件修改后,可以通过后台清除缓存进行热更新

Swoole 拓展包

见 MyCmsExpand / Swoole文件夹及根目录 swoole.php

主要文件说明:

1、swoole.phpswoole 服务管理入口文件

2、Expand / Swoole / MySwoole.php服务管理核心文件

3、Expand / Swoole / config.php参数配置文件

4、Expand / Swoole / reset需要重置的服务(session)

Swoole 热更新核心

确认 onWorkerStart 及之前的操作没有加载需要热更新的文件,如果加载了就无法进行热更新

示例包代码

onWorkerStart 中仅加载 Laravel 框架核心功能,onRequest 才处理相关逻辑操作

在这里插入图片描述

在这里插入图片描述

注:该示例包目前仅支持 Laravel 框架使用,如需支持其他框架,请自行修改兼容

目录
相关文章
|
28天前
|
中间件 API 文件存储
Django的扩展包与中间件:增强应用功能的利器
【4月更文挑战第15天】本文介绍了Django的扩展包和中间件,两者用于增强Django应用功能。扩展包是可重用的应用,提供额外功能,如用户认证和API开发。选择合适的扩展包,通过安装、配置,可轻松集成到项目中。中间件则在请求和响应之间执行操作,如身份验证和权限控制。创建中间件类并添加到settings.py中,实现特定功能。扩展包和中间件常结合使用,以实现更复杂的应用需求,提高开发效率和应用性能。
|
前端开发 PHP
Yii2如何开发插件?底层原理是什么?
Yii2如何开发插件?底层原理是什么?
176 0
|
Oracle JavaScript 数据可视化
一个基于NetCore开发的前后端分离CMS系统
一个基于.Net 3构建的简单、跨平台、模块化建站系统。系统业务简单、代码清晰、层级分明、全新架构便于二次扩展开发。支持多种数据库,可用于OA、ERP、CRM、BI、物流系统等系统。
165 0
一个基于NetCore开发的前后端分离CMS系统
|
设计模式 开发框架 安全
PHP开发框架对比:Laravel、Yii、Tp、Yaf、Swoole
Laravel是一套简洁、优雅的PHP 框架(PHP Web Framework)。让我们可以从杂乱的代码中解脱出来。Laravel可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
587 0
|
前端开发 JavaScript NoSQL
基于nodeJS从0到1实现一个CMS全栈项目(上)
作为一名前端开发工程师,我们平时除了对javascript,css,html的积累之外,还需要对http,浏览器渲染原理甚至后端的一些知识有所了解,这样对自己职业发展才会更有帮助。
375 0
|
存储 JavaScript 前端开发
基于nodeJS从0到1实现一个CMS全栈项目(中)(含源码)
今天给大家介绍的主要是我们全栈CMS系统的后台部分,由于后台部分涉及的点比较多,我会拆解成几部分来讲解,如果对项目背景和技术栈不太了解,可以查看我的上一篇文章
195 0
|
缓存 PHP 开发者
MyCms 自媒体 CMS 系统 v3.3.1,支持 Swoole 热更新
MyCms 自媒体 CMS 系统 v3.3.1,支持 Swoole 热更新
160 0
MyCms 自媒体 CMS 系统 v3.3.1,支持 Swoole 热更新
|
网络协议 物联网 PHP
使用 Swoole 加速你的 CMS 系统
MyCms是一款基于Laravel开发的开源免费的自媒体博客CMS系统,适用于个人网站及企业网站开发使用,助力个人开发者知识技术变现
134 0
使用 Swoole 加速你的 CMS 系统
|
API 定位技术 PHP
支持API接口的开源CMS,基于Laravel开发
MyCms是一款基于Laravel开发的开源免费的自媒体博客CMS系统,助力开发者知识技能变现。
201 0
支持API接口的开源CMS,基于Laravel开发
|
SQL 数据采集 缓存
基于Laravel的国产开源CMS,支持Swoole,含API接口
MyCms是一款基于Laravel开发的开源免费的自媒体博客CMS系统,适用于个人网站及企业网站开发使用。MyCms基于Apache2.0开源协议发布,免费且不限制商业使用,欢迎持续关注我们。
418 0