项目部署到云服务器后谷歌验证码图片无法显示的问题解决

相信自学JavaWeb的小伙伴和我一样,学习的是尚硅谷的JavaWeb课程。在尚硅谷的课程中,王振国老师手把手带我们做了一个书城项目,其中注册模块需要用到验证码,我们选用谷歌验证码kaptcha。相信很多小伙伴也兴致勃勃的把自己做的项目部署到云服务器上了,结果发现我们的验证码图片加载不出来。下面我将简单的介绍一下验证码无法显示的原因及解决方案。

正常的验证码图片:
在这里插入图片描述
验证码无法显示的主要原因有两个,一是我们的云服务器中缺失验证码所需要的字体,二是需要修改Tomcat的catalina.sh配置文件

解决步骤:

一.安装所需要的字体

1.通过xshell或其他工具连接云服务器

2.查看自己云服务器中/usr/local/share文件夹下有没有fonts文件夹

3.若没有则新建一个fonts文件夹(用于存放验证码所需字体)

mkdir /usr/local/share/fonts

4.百度一下验证码所需的字体,谷歌验证码需要的字体为Courier 常规和Courier New

5.从自己的电脑中找到所需要的字体 路径为 C:\Windows\Fonts

6.通过文件上传工具FillZilla或其他工具将字体文件上传到云服务器中的/usr/local/share/fonts文件夹下

7.建立字体缓存,执行

fc-cache

8.查看已安装字体,执行

fc-list

在这里插入图片描述

二.修改Catalina.sh配置文件

1.在Catalina.sh配置文件中找到-Djava.io.tmpdir="$CATALINA_TMPDIR"这行,并在这一行下加入:-Djava.awt.headless=true \,一共有6处,只需执行:

sed -i '/-Djava\.io\.tmpdir=/a\-Djava.awt.headless=true \\' /usr/local/tomcat/bin/catalina.sh

2.重启Tomcat

./startup.sh
这时再重新访问你的项目,可以发现验证码正常出现。
如果对以上Linux命令不理解,可以参考我的另一篇关于基础Linux命令的文章。
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值