说明
操作系统:Ubuntu 16
验证码框架:AJ-Captcha
验证码类型:点选文字
原因分析
将项目部署到Linux服务器上时,由于登录使用的是点选文字验证码,可能会导致以下情况:
原因:项目中配置文字验证码时,会先配置文字的字体,如果服务器上没有该字体会导致无法显示,这里我配置的是宋体
。
解决方案
思路:只需要在部署的服务器上安装对应的字体即可。下面将分别介绍Ubuntu
和·Centos
两个系统字体的安装。
Ubuntu 安装字体
- 安装
xfonts-utils
apt install xfonts-utils
- 在
/usr/share/fonts
目录下新建一个文件夹,用于存放该字体
cd /usr/share/fonts
mkdir chinese
- 找到对应的字体文件
这里以宋体
为例,在Windows
系统中,打开C:\Windows\Fonts
路径,查找对应的字体文件,并将字体文件上传至服务器中,如下图:
这里我已经将字体文件上传至/usr/share/fonts/chinese
目录下,如下图
- 进入创建好的字体存放目录,使用
mkfontscale
命令安装字体
cd /usr/share/fonts/chinese
mkfontscale
- 先刷新字体缓存,然后使用
fc-list
查看字体列表,如下图
fc-cache #刷新字体缓存
fc-list # 查看字体列表
6. 如果你的项目正在运行,此时需要重启项目
Centos 安装字体
- 将中文字体上传到服务器的
/usr/share/fonts/chinese
目录中,如果没有chinese
目录则自行创建。 - 修改目录权限
chmod -R 755 /usr/share/fonts/chinese
- 安装
yum install mkfontscale
yum install fontconfig
- 建立字体缓存
mkfontscale
mkfontdir
fc-cache -fv
PS:如果出现fc-cache命令没找到,则先安装:
yum install fontconfig
- 输入
fc-list
命令即可查看字体是否安装成功,如下图:
参考文档
本文中centos字体安装方法参考以下文档:
https://blog.csdn.net/qq_24378737/article/details/117019932