「老板,我们那台 kangle 想重装一下系统,上面那些站和证书会不会都没了?」
问话的是个老客户,做 CDN 节点的,那台机器是我去年给他装的彩虹 kangle,挂了十几个站,有几个配了 SSL。他这么一问,我心里其实也没底——平时都是照着面板点,谁去记这些文件到底躺在哪。
挂了电话我先在面板里扒拉了一圈。想当然地觉得,配置和证书既然是面板里填进去的,那应该存在面板的数据里,重装前导一份就完事。直到 SSH 上去 ls 了一遍,才发现根本不是这么回事。
先记配置。
kangle 的配置不在面板里,在 /vhs/kangle/etc 下面。整个目录就是它的家当,站点、域名、端口这些都在里头。重装系统或者新装 kangle 之前,把这个目录整个打包备份出来就行:
tar czf /root/kangle_etc_$(date +%Y%m%d).tar.gz /vhs/kangle/etc新机器上把 kangle 装好,再把备份的 etc 覆盖回去,之前配好的那些 CDN 站点原样都在,不用去面板里一个一个重新加。这个是真省事,我一开始也没想到能这么干——是先本地装了一版试验,覆盖完看站点全回来了,才敢在客户那台上动手。十几个站,真弄丢了我得挨骂。
再说证书。
我在 /vhs/kangle/etc 底下找了半天 ssl 目录,没有;又翻了 easypanel 那堆目录,也没有。最后是在站点自己的目录里找到的。面板里填的证书,落盘就是两个文件:
ssl.crt—— 证书ssl.key—— 私钥
就搁在站点自己的目录下。彩虹这套(netcccyun 的 easypanel)站点目录一般在 /home/ftp/<首字母>/<用户名>/ 这种结构,这台机器上站点用户叫 admin,证书就在 /home/ftp/a/admin/ 底下。你用户名不一样,路径跟着变,进对应目录 ls 一下就能看到。
看清楚就很简单,两个纯文本文件。cat ssl.crt 出来就是 -----BEGIN CERTIFICATE----- 开头那串 base64,ssl.key 也一样。
所以真要重装,操作其实不用去抠某一个文件:重装前把 /home/ftp/a/ 底下整个 admin 目录备份走,重装完原样传回 /home/ftp/a/ 下面,里面的 ssl.crt、ssl.key 自然就跟着回来了,证书不用重新签。
还有个前提得说清楚:配置能盖回去、站点能「回魂」,靠的是 kangle 把站点信息都写在了 /vhs/kangle/etc 里,换机器、重装都能带着走,跟证书放哪儿是两码事。
顺手把这两条发给客户了:/vhs/kangle/etc 整个打包备份;/home/ftp/a/ 下的整个 admin 目录一起拷走,重装完再传回去。他那边运维照做,第二天回我一句「都还在」,这事就算完了。
以前总觉得面板点一下就行,谁去管文件。真到要搬家那天才发现,记住这两个地方比什么都实在。省得到时候跟我一样,先在面板里瞎翻半天。
——对了,平时同时盯着两百多台机器,光来回连就够烦的。我批量管机器用的是自家那个免费的 七亿批量远程管理工具,RDP 九宫格、SSH 终端、SFTP 都塞在一个窗口里,省得在好几个客户端之间切来切去。
(顺带一提,我们主站 七亿网络 卖云主机,主推韩国、香港节点,有兴趣可以看看。)
评论