自建CDN系统源码|PHP多节点边缘加速防护平台源码

自建CDN系统源码|PHP多节点边缘加速防护平台源码

CDNQY是一款基于PHP开发的私有化自建CDN加速与安全防护系统,集成边缘节点加速、智能DNS调度、CC防护、WAF规则防护、证书自动续期、流量日志统计等全套能力。系统支持主控+多边缘节点架构、超管+租户双层运营模式,可自主搭建专属CDN分发网络,将业务流量拦截在边缘节点,有效防护CC攻击、提升网站访问速度与稳定性。支持宝塔一键部署、节点一键批量安装,自带完整授权体系、额度管理与正版验货功能,可个人自用搭建私有CDN,也可商用对外出租节点服务,是轻量化、高性价比的自建CDN解决方案。

核心功能亮点

  • 边缘加速与安全防护:节点就近回源加速,异常流量边缘拦截,内置多模式CC防护、WAF规则库,降低误封概率,兼顾防护与可用性
  • 智能调度能力:支持DNSPod、阿里云、Cloudflare等多平台智能DNS解析,实现节点分组调度、故障冷却、心跳监测,保障业务高可用
  • 精细化运维能力:支持URL/目录级缓存刷新预热、SSL证书ACME自动申请续期、实时流量日志统计,流量命中、异常数据一目了然
  • 双层运营架构:超级管理员全局管控节点、授权、额度;租户自助开通服务、管理域名,适配商用出租场景
  • 完善授权体系:支持官方正版验货、365天免费试用、节点额度加购、到期宽限机制,授权清晰可查可溯源
  • 开放API接口:密钥鉴权对接自有系统,支持二次开发与业务联动

部署环境要求

1. 主控服务环境(核心必填)

  • 操作系统:CentOS 7(支持宝塔面板部署)
  • PHP版本:7.2 ~ 8.2(禁止8.3及以上版本)
  • 数据库:MySQL 5.7 / 8.0
  • 必备扩展:pdo、pdo_mysql、curl、openssl、SG扩展(必装,核心依赖)
  • 允许函数:proc_open(宝塔请勿禁用,否则功能异常)
  • 目录权限:storage/、includes/、static/ 目录需授予网站运行用户可写权限

2. 边缘节点环境

  • 操作系统:CentOS 7
  • 操作权限:必须拥有ROOT权限
  • 环境依赖:一键安装脚本自动部署PHP CLI、OpenResty,无需手动配置

3. 最低硬件配置(测试自用)

主控服务器:1核CPU、2G内存、20G磁盘(1G内存可安装,易卡顿,不推荐)
边缘节点服务器:1核CPU、1G内存、40G磁盘(默认缓存上限20G,磁盘过小易导致节点不稳定)
注:正式业务需根据带宽、缓存体量升级配置,最低配置仅适用于测试体验。

详细安装部署教程

1. 程序上传与站点配置

将完整程序包上传至网站目录,宝塔新建站点,严格匹配 PHP7.2~8.2 版本,禁止高版本PHP。

2. 安装向导部署

浏览器访问:https://你的域名/install/
  • 严格完成环境检测:PHP版本、扩展、proc_open函数、目录权限需全部通过,不可跳过异常项
  • 提交自动创建数据库、数据表、默认管理员账号
  • 安装完成后记录定时任务命令、URL密钥,禁止公网访问/install目录
  • 重装需删除:storage/install.lock、includes/config.php 文件
重要步骤:安装后前往 https://acc.178v.cn/ 领取365天免费授权,未领取无法正常安装边缘节点。

3. 伪静态配置

宝塔站点伪静态粘贴以下Nginx规则,否则后台、用户中心404无法访问:
location / { if (!-e $request_filename) { rewrite ^(.*)$ /app.php?_path=$1 last; } }
Apache环境保留根目录.htaccess文件,开启mod_rewrite模块即可。

4. 定时任务配置(核心必备)

替换为你的网站真实目录,添加宝塔Shell计划任务,保障节点心跳、证书更新、日志统计正常运行:
* * * * * php /www/wwwroot/你的目录/app/cron/minute.php 5 0 * * * php /www/wwwroot/你的目录/app/cron/daily.php
备用URL触发方式(密钥在后台系统设置cron_key查看):
https://你的域名/cron/minute?key=密钥
https://你的域名/cron/daily?key=密钥

5. 系统访问入口

  • 官网前台:https://你的域名/
  • 超级管理员后台:https://你的域名/admin/login
  • 用户租户中心:https://你的域名/user/login
  • 开放API接口:https://你的域名/api/v1/
  • 节点通信入口:https://你的域名/agent/

6. 边缘节点安装教程

边缘节点需独立服务器部署,不可安装在主控服务器目录
  1. 后台进入「维护升级」,打包生成 agent.tgz 节点安装包
  2. 节点管理新建节点,选择分组、边缘edge/回源l2角色
  3. 复制后台一键安装命令,节点root权限执行
  4. 已预装依赖可加 --skip-deps 跳过环境安装
  5. 执行完成后,主控后台查看节点心跳状态,在线即为部署成功

常见问题与避坑指南

  • 核心必避坑:必须安装SG扩展,缺失会导致后台功能全部异常,不可忽略
  • 首页跳转/后台404:伪静态未配置或未生效,重新保存站点伪静态规则
  • 目录权限失败:将storage、includes、static目录归属网站运行用户,权限755即可,禁止全局777
  • 节点安装失败:确认root权限、节点可正常访问主控域名、安装包可正常下载、服务器安全组放行80/443端口
  • 无法获取节点数:未领取官方免费授权,前往acc.178v.cn领取365天试用授权即可
阅读剩余