前端时间部署了一个Rocket.chat服务进行测试(见:《在 Ubuntu Server 24.04 LTS 下安装Rocket.chat》 和 《使用Snap安装、基于Caddy的Rocket.chat,导入SSL证书的方法》 ),为了进一步测试Rocket.chat在系统升级上面的表现,笔者把Rocket.chat版本降低到4.x,然后再逐步升级到6.x版本。
升级过程就不在详细说了,执行以下命令可以完事(其中下方的x.x表示版本号,可以指定为5.x,这样就表示为升级到5.x的最新版;,也可以写成具体的版本,如果知道版本号的话):
sudo snap switch rocketchat-server --channel=x.x/stable
sudo snap refresh rocketchat-server
执行后,一直升级到6.13版本,升级后发现Rocket.chat页面无法打开了,从现象来猜测,大概率是Caddy服务出了问题,于是就执行以下命令查看Caddy状态:
sudo systemctl status snap.rocketchat-server.rocketchat-caddy
结果Caddy真的没有成功启动,如下图:
随后执行以下命令查看caddy服务的运行日志:
sudo journalctl -u snap.rocketchat-server.rocketchat-caddy.service
还真的发现一些问题出来了,具体见下图:
上述截图中,有一个错误提到:“Error during parsing: Unable to load certificate and key files for ‘https://<rocket.chat域名>’: open <rocket.chat SSL证书绝对路径>: no such file or directory’”。这句话的意思很明显,就是在caddy配置文件中所定义的SSL证书文件目录中,找不到SSL证书文件,这个有可能是文件丢失了,或者文件夹被删除了。于是我定位到之前所定义的SSL证书目录,发现那个目录居然不见了!还好SSL证书我还有做备份。
于是我新建了一个新的目录,把SSL证书文件放到新的目录里面,然后修改一下Caddy的配置文件,重新定义SSL证书文件的位置,最后重启Caddy服务,问题解决!