外观
日常维护
一键安装的维护:cmsctl
一键安装的所有日常维护都用一个命令 cmsctl 完成,需要用 root 或 sudo 运行。
| 命令 | 作用 |
|---|---|
sudo cmsctl status | 看程序、数据库、网页入口是否在运行,版本号、网站地址、证书状态、最近一次备份时间 |
sudo cmsctl backup | 备份 |
sudo cmsctl restore <备份文件> | 从备份恢复 |
sudo cmsctl upgrade <新版本安装包> | 升级 |
sudo cmsctl reset-password | 找回管理员口令 |
sudo cmsctl logs | 看程序最近的日志 |
sudo cmsctl uninstall | 卸载 |
同一时间只能做一项会改数据的操作;另一项正在进行时,会提示你稍后再试。
备份
bash
sudo cmsctl backup- 生成一个文件,放在
/var/backups/cms/,文件名带版本号和时间。 - 备份时网站照常运行,不用停。
- 默认只保留最近 7 个,更早的自动删除(升级前自动做的备份另算)。
备份文件里有密钥
备份里包含数据库口令和网站的主密钥,谁拿到它都能还原出你的整个网站。请把备份复制到另一台机器保存好,不要转发给别人。只放在这台服务器上,服务器坏了备份也跟着没了。
从备份恢复
bash
sudo cmsctl restore /var/backups/cms/备份文件名.tar.gz- 只能恢复本程序
backup生成的文件,并且备份的版本要和当前安装的版本相同。版本不同时,先升级或换用对应版本的安装包。 - 恢复会用备份覆盖当前全部网站数据,所以要你输入网站域名确认。
- 覆盖之前会自动把当前数据再备份一次;恢复失败会自动回到恢复前的样子。
升级
把新版本的 cms-<新版本>-linux-amd64.tar.gz 传到服务器(例如 /root/),不用解压,直接运行:
bash
sudo cmsctl upgrade /root/cms-0.1.11-linux-amd64.tar.gz- 先读一下新版本的发布说明,看有没有特别的升级须知。
- 升级前会显示这次升级的说明;新版本的用户许可协议有变化时也会提醒你。确认后继续。
- 升级前会自动备份。任何一步失败都会自动回滚到升级前的样子,网站还是原来那样,并告诉你失败在哪一步。
- 程序不会自己检查或下载新版本,升级一律由你手动来做。
找回管理员口令
bash
sudo cmsctl reset-password按提示选管理员,输入新口令两次(直接回车会自动生成一个并显示一次)。会问你“是否同时关闭两步验证”,默认是——来找回口令的时候,多半验证器也找不到了。找回后,这个管理员原来所有的登录都会失效,需要用新口令重新登录。
卸载
bash
sudo cmsctl uninstall- 卸载前会自动备份。
- 问你要不要删除数据时,直接回车=只卸载程序、保留网站数据(数据库、内容、模板、媒体、密钥和备份都留着)。
- 只有完整输入
删除全部数据并再输入一次网站域名,才会永久删除数据库和全部网站数据。输入y、yes之类都按“保留”处理。备份文件无论如何都会留在/var/backups/cms/。 - 数据库软件和 Caddy 本身不会被卸载。
卸载后再装回来
再运行一次安装命令即可:
bash
sudo sh /root/cms-0.1.10/install.sh- 卸载时保留了数据:不会再问三个问题,直接装回程序,接着用原来的数据和口令。如果这次安装包里的用户许可协议和你上次同意的不一样,会先让你输入
y确认;输入别的会直接退出,不改动服务器。 - 卸载时删除了数据:按全新安装来。想找回原来的网站,用和备份同一版本的安装包装好后,用
sudo cmsctl restore恢复卸载前的那份备份。
1Panel 应用的维护
备份与恢复
用 1Panel 自带的应用备份和恢复。备份会带走所选的数据库和应用目录(里面有主密钥、媒体和模板)。
- 建议在备份弹窗里填写「压缩密码」,备份内容会被加密。恢复时要输入同一个密码,密码丢了备份就打不开,请另外保存好。
- 备份里有主密钥和数据库口令。 1Panel 把备份放在
/opt/1panel/backup/,这台服务器上的其他用户也能读到。请下载到安全的地方,不要转发,也不要给别人开服务器账号。 - 在 1Panel 里恢复时,容器可能会先自动重启几次,日志里会出现“数据库是空的”或“已有别的表”之类的说明。这是在等数据库恢复完成,一般一分钟内会自己好;过了几分钟还没好,再看日志里写的原因。
升级
- 先读新版本的发布说明,看是否包含数据库结构变更。
- 上传新版本的离线镜像
cms-image-<新版本>-linux-amd64.tar,用「容器 → 镜像 → 导入镜像」的文件夹图标导入。 - 上传新版本的
onepanel-cms-<新版本>.zip,同样解压到/opt/1panel/resource/apps/local/,再点「同步本地应用」。 - 在已安装应用里点「升级」,勾选升级前备份,取消勾选「拉取镜像」。
升级后网站起不来
应用处在“异常”“重启中”等状态时,1Panel 会把「升级」和「备份」按钮都锁住,没法直接升级到修好的版本。这时请打开该应用的备份列表,选升级前那份备份恢复;等应用回到“已启动”,再升级。
另外,1Panel 的“升级失败自动回滚”只在容器启动失败时才会触发。容器启动了、之后数据库升级失败(容器反复重启),不会自动回滚:看容器日志里写的原因,再用升级前的备份恢复。
找回管理员口令
- 在 1Panel 打开本应用主容器的「终端」;
- 用户填
0,选择「自定义」,命令只填/opt/cms/reset-admin,点连接; - 按提示选管理员、输入新口令;是否同时关闭两步验证默认选「是」。
镜像里没有 shell,选 /bin/sh 或 /bin/bash 是连不上的。
卸载
用 1Panel 的卸载功能,是否同时删除数据由 1Panel 的选项决定。