利用tomcat搭建圖片服務(wù)器

在項(xiàng)目中,特別是電商項(xiàng)目,一般都會面臨一個(gè)問題:圖片如何存儲?

那這還用問嗎?放到項(xiàng)目下的某個(gè)文件夾下啊,建一個(gè)upload文件夾,然后圖片上傳時(shí)指定到該項(xiàng)目下的文件夾下,就可以了。

這個(gè)當(dāng)然沒問題,但是隨著圖片越來越大,整個(gè)項(xiàng)目也會越來越大,我們在生產(chǎn)環(huán)境(其實(shí)就是正式化境)下上線,一般都會將項(xiàng)目保存一份,然后再覆蓋,當(dāng)你對項(xiàng)目打包時(shí)發(fā)現(xiàn),太TM慢了,因?yàn)閳D片太大了。Oh!NO!

那一般小項(xiàng)目是怎么做的呢?一般放入到另一個(gè)盤符,如D盤某個(gè)文件夾下。

那再好點(diǎn)兒的優(yōu)化方案是什么呢?

可以再弄一個(gè)圖片服務(wù)器,和應(yīng)用服務(wù)器分開,圖片服務(wù)器中可以做一個(gè)虛擬路徑。

納尼?貌似好像有點(diǎn)兒用?可以說的具體點(diǎn)兒不?


今天心情不錯(cuò),給你說說吧。

不如:你的應(yīng)用服務(wù)器tomcat,啟動(dòng)后的訪問路徑是:http://localhost:8080/abc/index.jsp

應(yīng)用服務(wù)器中可能有類似的上傳圖片的功能,例如將圖片放到了c:/pic下(如果有其他盤符,誰腦子進(jìn)水了會將圖片放到c盤呢?)

那么重新在解壓一份tomcat服務(wù)器,重點(diǎn)來了:不能再使用8080端口了,需要改為8081(具體修改服務(wù)器端口的操作出門左轉(zhuǎn)看我的其他博客)

然后重點(diǎn)中的重點(diǎn):需要配置虛擬路徑

找到tomcat下的conf文件夾下的server.xml



docBase:指的是你圖片存放的地址。

配置完畢后重新啟動(dòng)tomcat,一定要確保tomcat是啟動(dòng)起來了啊。

那么訪問地址就可以這樣子了:http://localhost:8081/img/hehe.jpg

能訪問到,完美!

這樣,你的項(xiàng)目中如果有類似上傳頭像的功能,就可以上傳到C:/pic下,(上傳和訪問是兩回事兒)

然后在數(shù)據(jù)庫中直接填寫頭像地址為:http://localhost:8081/img/xxxxx.jpg

備注:上傳圖片時(shí)的通用做法一般不會用圖片原來的名字,而是重新生成一個(gè)隨機(jī)的名字,如用UUID,訪問上傳成功后在文件夾下重復(fù)。這個(gè)不贅述了,操不完的心。

但是:但是問題來了?這個(gè)是最優(yōu)方案嗎?答案是:NO!

因?yàn)槲覀兌贾纓omcat訪問靜態(tài)資源(如:圖片,文本、html、音頻視頻)最大并發(fā)量是500,還只是理論值,實(shí)際操作起來也就2、3百而已。

而我們的項(xiàng)目如果圖片太多,那一個(gè)頁面可能就會有好幾個(gè)并發(fā),所以我們弄得東西也就玩玩而已。

那怎么辦呢?可以使用Nginx當(dāng)作http服務(wù)器,支持并發(fā)訪問量過萬,關(guān)于Nginx的文章,出門右轉(zhuǎn),看其他文章吧。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容