容器化部署
面板、数据库与多版本 PHP 统一由 Docker Compose 编排管理,环境一致、易于迁移。
在一台干净的 Linux 服务器上,复制下面的命令执行即可。
bash <(curl -fsSL https://raw.githubusercontent.com/kanglesoft/EasyPanel/main/install.sh)
提示:命令会自动从 GitHub 拉取安装脚本,在干净 Linux 服务器上以 root 运行即可。
git clone https://github.com/kanglesoft/EasyPanel.git && cd EasyPanel && sudo ./install.sh
提示:克隆后进入 EasyPanel 目录运行安装脚本。
需 root 权限 · 建议使用干净的 Linux 服务器 · 推荐配置 2 核 4G 以上。
提供干净的卸载脚本与一键升级脚本,业务数据均保存在 ./data,操作安全可控。
停止并移除容器、清理自定义网络与本地构建镜像;卸载前默认备份 ./data 下全部业务数据。--delete-data 才真正删除持久化数据,外部基础镜像默认保留。
./uninstall.sh # 交互式:备份 / 询问是否删数据
./uninstall.sh --yes # 非交互(仍须 --delete-data 才删数据)
./uninstall.sh --delete-data # 真正删除 ./data 下所有持久化数据
./uninstall.sh --no-backup # 跳过卸载前备份
./uninstall.sh --purge-images # 同时删除外部基础镜像
./uninstall.sh --keep-images # 连本地构建镜像也保留
./uninstall.sh --purge-docker # 同时卸载 Docker Engine(高危)
数据安全升级(不停机拉取 → 停机备份 → 重建 → 健康检查):自动 stash 本地未提交改动、fetch + ff-only 合并上拉新版本;停机后先全量备份业务数据再重建容器;端口 3311 / 3312 / 80 与 MySQL 连通健康检查,任一环节失败自动回滚到升级前提交;./data 全程 bind 挂载不受影响,.env 密码保持不变。
./upgrade.sh # 交互式升级(本地有未提交改动时询问处理方式)
./upgrade.sh --yes # 非交互:自动 stash 本地改动并升级
./upgrade.sh --no-backup # 跳过升级前备份(不推荐)
./upgrade.sh --no-pull # 跳过代码拉取,仅备份 + 重建(本地改码后使用)
./upgrade.sh --skip-health-check # 跳过升级后健康检查(不推荐)
./upgrade.sh --help # 查看帮助(-h 亦可)
围绕容器化部署的真实能力,开箱即用。
面板、数据库与多版本 PHP 统一由 Docker Compose 编排管理,环境一致、易于迁移。
默认内置 PHP 7.4,可通过 add_php.sh 快速接入 PHP 8.x 独立容器,按需扩展。
在支持的发行版上,安装脚本自动检测并安装 Docker Engine 与 Compose 插件,无需手动预装。
集成 acme.sh,可在容器内申请并自动续期 Let's Encrypt 证书,HTTPS 开箱即用;证书签发后自动部署到虚拟主机并登记,形成「申请—部署」闭环,续期任务默认注册到容器 crontab。
所有业务数据通过 bind 挂载保存在 ./data 目录,容器重建不丢失。
可交互设置密码,也支持 --auto 全自动模式,适配自动化批量部署。
在面板内直接查看容器列表,并对容器执行启动、停止、重启操作,便于在现场快速处置服务状态,无需频繁登录宿主机。
重设计全套 14 个 HTTP 状态码错误页,并对默认站点首页去品牌化、移除第三方外链,访问体验更干净、更可控。
在开源基础上做的那些改进。
重新设计的轻量玻璃拟态控制台,操作更直观、移动端更友好。
一行参数开启 TCP BBR 拥塞控制,显著提升网络吞吐。
内置 PHP 7.4,配合 add_php.sh 一键拉起 PHP 8.x 独立容器。
集成 acme.sh,证书自动申请与续期,HTTPS 开箱即用。
适配 Debian 12 / Ubuntu 24.04 / AlmaLinux / Rocky 等最新发行版。
修复十余处后台/用户面板 HTTP 500(缓存管理、系统设置、节点编辑、域名记录、产品列表等),并修正虚拟主机管理按钮无响应、左侧菜单误链、SSL 菜单误指向等交互问题,同时清理前端模板残留标签与 UI 回归。
面向老系统、复杂网络与纯 CDN 场景的四大增强,由安装脚本自动调用,也可独立运行。
检测到系统已 EOL 时自动切换至可用归档源,避免 yum / apt 因官方源下线而失败;非 EOL 系统也可用 --mirror= 主动选择国内镜像站(阿里 / 腾讯 / 华为 / 清华 / 中科大 / 字节)。
默认不改系统 DNS;显式指定 --dns-set 才修改,且"改必加锁"(chattr +i 或守护进程看护),防止被 dhclient / NetworkManager 还原,杜绝 DNS 污染。
使用 --mode=cdn 只装面板与 CDN 能力(Kangle 反代 + 缓存 + easypanel + CDN 主从同步),不装 MySQL / php-fpm / phpMyAdmin,适合纯 CDN 用户。
三步探测(取站自身 token → 拉真实 manifest)后择优写入 daemon.json,避开只探 /v2/ 的"假可达"站点,加速镜像拉取。
只用 CDN 做反向代理 / 缓存、不需要 PHP / MySQL 等网站环境的用户,使用 --mode=cdn 即可只装面板与 CDN 能力。
./install.sh --mode=cdn # 只装面板 + CDN,不装 MySQL / php-fpm / phpMyAdmin
面板数据层为 sqlite,移除 MySQL 不影响面板与 CDN 功能;upgrade.sh / uninstall.sh / add_php.sh 均自动感知该模式。
以下发行版已验证可用于 EasyPanel Heavy 部署。
引入全局 CSRF 令牌与敏感操作重新认证机制,并修复开放重定向、登录失败锁定窗口与备份流名等已知安全缺陷;安装期一并强化登录校验、软件源与参数转义等处理。
通过 install.sh 的参数自定义部署行为(支持组合使用)。
| 参数 | 说明 |
|---|---|
--auto |
全自动模式:随机生成密码,不安装额外 PHP 版本,无需交互。 |
--kangle-pass=XXX |
指定面板管理员密码(替换 XXX)。 |
--mysql-pass=YYY |
指定 MySQL root 密码(替换 YYY)。 |
--php-versions=8.2,8.5 |
非交互安装额外的 PHP 版本,逗号分隔多个版本号。 |
--enable-bbr |
非交互模式下启用 TCP BBR 拥塞控制,提升网络吞吐。 |
--force-recreate |
强制干净重建:移除旧容器与卷后重新部署。 |
--mode=cdn |
CDN-only 安装:只装面板与 CDN 能力,不装 MySQL / php-fpm / phpMyAdmin,适合纯 CDN 用户。 |
--mirror=alibaba |
选择镜像站(auto / keep / official / alibaba / tencent / huawei / tuna / ustc / volces);缺省 auto,仅 EOL 系统自动换源。 |
--dns-set=alidns |
修改并锁定系统 DNS(alidns / dnspod / cloudflare / google / 114 / mixed / custom),防被还原;不传则保持系统 DNS 不变。 |
--no-registry-mirror |
关闭 Docker registry 镜像加速配置。 |
--allow-unsupported |
在官方未支持(UNSUPPORTED)的系统上强制继续安装,风险自负。 |
以下变更均来自本项目主分支的真实提交记录。
2026-09 · v3 发布
--allow-unsupported。2026-08 / 09 · 安全复审与收口
2026-07-25 · 错误页与品牌清理
2026-07-24 · SSL 与交互修复
2026-07-23 · 安装与稳定性