專案部署到雲伺服器後谷歌驗證碼圖片無法顯示的問題解決
阿新 • • 發佈:2020-12-19
技術標籤: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