最近常常有人問圖片上傳怎么做,有哪些方案做較量好,也看到過有關(guān)于上傳圖片的做法,可是都不是最好的,本日再這里簡樸講一下Nginx實(shí)現(xiàn)上傳圖片以及圖片處事器的大抵理念。
假如是小我私家項(xiàng)目可能企業(yè)小項(xiàng)目,僅僅只有十來號人利用的小項(xiàng)目,可以利用如下方案:
用戶會見系統(tǒng),利用上傳圖片成果,那么圖片就上傳到你的當(dāng)前項(xiàng)目地址的tomcat處事器上,在/image下,上傳樂成后用戶可以直接會見
http://ip:port/project/images/xxx.jpg
這樣做在用戶少的時(shí)候是沒有問題的

當(dāng)你的企業(yè)成長起來了,業(yè)務(wù)量增多了,利用的這個(gè)項(xiàng)目開始大起來了,發(fā)明系統(tǒng)速度變慢了,那么你就思量到集群了對吧
那么好,假設(shè)你增加了一個(gè)tomcatB,機(jī)能提高了一點(diǎn),圖片也樂成上傳了,做了負(fù)載平衡,假設(shè)圖片上傳的了tomcatA(用戶是不知道的)
第二次會見的時(shí)候(先不思量session粘性不粘性的問題,假設(shè)是共享的),用戶會見到了tomcatB,圖片沒有了,是個(gè)大叉叉,
我的天吶!發(fā)什么什么事了,顯著方才上傳的圖片沒有了,
再刷新一下,欸!又有了?這是什么環(huán)境呢?
靠山知道咋回事,可是用戶不知道?。。?!

那么辦理方案是這樣的,tomcatA和B上傳至圖片處事器,這用戶請求的時(shí)候只會見圖片處事器的路徑,這樣就沒問題了
有人會問圖片處事器用什么來搭建呢?
tomcat?可以,可是tomcat主要處理懲罰jsp較量好,圖片文件是靜態(tài)資源,處理懲罰起來機(jī)能一般般
Apache?可以,純C語言開拓的,沒問題,可是還不足好
nginx?對了,這個(gè)是今朝較量風(fēng)行的一個(gè)反向署理處事器,我在之前的文章有簡樸先容過(http://www.cnblogs.com/leechenxiang/p/5327086.html)
理論的單臺機(jī)子并發(fā)能到達(dá)5萬,很是的叼,實(shí)際測試是2w閣下
安裝如下的方案去做,那么圖片處事器就問題不大了,

雖然,圖片上傳后,需要把圖片的路徑地點(diǎn)生存到數(shù)據(jù)庫啊~~
我曾經(jīng)見到過一套電子商務(wù)系統(tǒng)的圖片上傳是回收方案是雷同1的,這么做沒問題,
可是呢,圖片居然上傳到他喵的MySQL某個(gè)表的某個(gè)字段中的,你妹啊,,我的天吶!
怎么可以這么做,況且數(shù)據(jù)庫沒有分庫分表分區(qū)建索引,好吧,這也是我的一個(gè)吐槽點(diǎn),誰叫我曾經(jīng)參加過呢
好吧,說了這么多都是理論,接下來的文章會詳細(xì)說說怎么做。








