1. 定义
中间件是夹在操作系统 / 硬件和业务应用之间的通用基础软件,起到承上启下的作用,屏蔽底层系统、网络、数据库的差异,提供通用公共能力,避免开发重复造轮子。
2. 通俗比喻
操作系统相当于地基,业务系统相当于楼房,中间件就是楼房和地基之间的水电管线、楼道、物业,统一提供公共服务和协调管理。
3. 核心作用
实现不同系统、不同程序之间通信互通。 屏蔽操作系统、数据库、网络底层技术细节。 提供缓存、消息队列、服务注册发现、分库分表、任务调度等通用基础能力。
二、中间件和微服务的关系
微服务是架构思想:把一个庞大的单体系统,拆分成多个独立、可单独部署的小服务。 中间件是基础支撑工具:用来支撑、串联、治理所有微服务。 核心关系总结:
微服务负责拆分系统; 中间件负责服务通信、协调联动、运维治理、稳定运行; 没有中间件,拆分后的微服务就是一堆孤立、无法协作的小程序。
通俗比喻
微服务:把一个大超市拆成生鲜区、收银区、仓储区等独立小店。中间件:道路、对讲机、快递柜、调度管理中心,没有这些配套,各个小店无法正常沟通和营业。
三、中间件分类及常见组件
Web 应用中间件:Tomcat、Jetty 微服务治理中间件:Nacos、Eureka、Apollo API 网关中间件:Gateway、Zuul、Kong、APISIX 消息队列中间件:RabbitMQ、Kafka、RocketMQ、Pulsar 缓存中间件:Redis、Memcached 数据库中间件:Sharding-JDBC、MyCat 分布式事务中间件:Seata 定时任务调度中间件:XXL-Job、Quartz、Elastic-Job RPC 远程调用中间件:Dubbo、gRPC、Feign 日志监控链路中间件:SkyWalking、Pinpoint、ELK、Prometheus 认证授权中间件:Shiro、Spring Security、Keycloak
四、宝塔搭建网站完整步骤
1. 前期准备
准备云服务器,系统选择 CentOS 7/8 或 Ubuntu 20.04。 准备域名,国内服务器必须完成备案。 服务器安全组放行端口:80、443、8888。
2. 安装宝塔面板
使用 SSH 工具登录服务器 root 账号。 执行宝塔安装命令,等待自动安装完成。 保存安装后的面板地址、登录账号、密码。
3. 安装网站运行环境
浏览器登录宝塔面板。 一键安装 LNMP 环境:Nginx + MySQL + PHP。 根据网站程序要求选择对应 PHP 版本。
4. 创建网站站点
宝塔左侧点击【网站】-【添加站点】。 填写域名、默认网站根目录。 勾选创建 FTP、创建数据库,记录数据库账号密码。 选择对应 PHP 版本,提交创建。
5. 上传网站源码
进入网站根目录,删除默认自带的静态页面文件。 两种上传方式:
宝塔文件管理器:上传源码压缩包并解压; FTP 工具:配置 FTP 账号密码,直接上传整套源码。
6. 配置安装网站程序
浏览器访问域名,进入网站安装向导。 填写数据库地址、数据库名、账号、密码。 设置网站管理员账号密码,完成安装。
7. 域名解析与配置 SSL 证书
在域名服务商后台,将域名解析到服务器公网 IP。 宝塔站点设置中配置域名绑定。 一键申请免费 SSL 证书,开启 HTTPS 强制跳转。
8. 测试访问与安全维护
浏览器通过 HTTPS 访问域名,验证网站正常打开。 定期备份网站文件和数据库,开启服务器基础安全防护。
五、宝塔建站中中间件的作用
宝塔一键安装的 LNMP、Redis 都属于中间件,各自作用:
1. Nginx(Web 服务中间件)
接收用户访问请求,绑定域名、配置 SSL 证书、路由分发、负载均衡、拦截恶意访问,是网站的统一入口。
2. PHP(应用运行中间件)
负责解析并运行 PHP 网站源码,处理登录、内容展示、业务逻辑等核心功能。
3. MySQL(数据库中间件)
存储网站所有数据:账号信息、文章内容、配置参数、订单数据等。
4. Redis(缓存中间件)
缓存热点数据、提升网站访问速度、减轻数据库压力、实现分布式锁和登录会话缓存。
角色通俗比喻
Nginx = 门卫前台
PHP = 办事店员
MySQL = 数据仓库
Redis = 快捷临时货架
夜雨聆风