1. 程式人生 > 其它 >專案部署到雲伺服器後谷歌驗證碼圖片無法顯示的問題解決

專案部署到雲伺服器後谷歌驗證碼圖片無法顯示的問題解決

技術標籤:JavaWebtomcatlinuxjavajavawebubuntu

相信自學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命令的文章。