最近,在将本地项目代码中的Kaptcha功能发布到线上Linux(CentOS)环境下的时候,发现在本地Windows运行环境中,可以正常显示的验证码功能,在线上环境中,却无法成功显示,一直出现的是验证码图片加载失败的现象,让我很是头疼。后来,经过搜索引擎和AI提供的问题解决方案,我发现原因存在于线上Linux环境的字体,并没有被正确安装所导致的,因此,做一下相关问题的解决记录。
步骤1:
mkdir /usr/local/share/fonts
fc-cache # 重建字体缓存
fc-list # 验证字体是否安装成功
这里遇到一个问题:fc-cache与fc-list命令无法正确运行
解决方案:
yum -y install fontconfig
步骤2:
将Windows环境下的相关字体文件(比如:Courier、Arial等)导入Linux操作环境:
Windows环境下的字体文件存储目录:C:\Windows\Fonts
Linux(CentOS)环境下的字体文件存储目录: /usr/local/share/fonts
步骤3:
安装完相关字体文件后,重启Tomcat服务器即可。