淘淘商城第三天筆記_第1頁
淘淘商城第三天筆記_第2頁
淘淘商城第三天筆記_第3頁
淘淘商城第三天筆記_第4頁
淘淘商城第三天筆記_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

淘淘商城第三天筆記傳智播客Java學院傳智.入云龍?zhí)蕴陨坛堑谌斓诙靸?nèi)容回顧展示商品列表。分頁插件的使用PageHelper。easyUIDataGrid的使用方法商品類目選擇easyUI異步tree控件的使用。圖片上傳為什么要有圖片服務(wù)器FastDFShttp服務(wù)器。Nginx。Nginxhttp服務(wù)器、虛擬主機、反向代理及負載均衡。虛擬主機基于端口基于域名課程計劃nginx反向代理和負載均衡FastDFS的使用實現(xiàn)圖片上傳功能

反向代理服務(wù)器是引用在服務(wù)端。決定哪臺服務(wù)器提供服務(wù)。反向代理的模擬反向代理應(yīng)該有一個nginx服務(wù)器有多個應(yīng)用服務(wù)器(可以是tomcat)可以使用一臺虛擬機,安裝一個nginx,多個tomcat,來模擬。Nginx的配置文件:upstreamtomcats{ server48:8080; server48:8081;}server{listen80;server_name;#charsetkoi8-r;#access_loglogs/host.access.logmain;location/{proxy_passhttp://tomcats;indexindex.htmlindex.htm;}}負載均衡只需要在upstream的server后面添加一個weight即可代表權(quán)重。權(quán)重越高,分配請求的數(shù)量就越多。默認權(quán)重是1圖片服務(wù)器的搭建什么是FastDFSFastDFS是用c語言編寫的一款開源的分布式文件系統(tǒng)。FastDFS為互聯(lián)網(wǎng)量身定制,充分考慮了冗余備份、負載均衡、線性擴容等機制,并注重高可用、高性能等指標,使用FastDFS很容易搭建一套高性能的文件服務(wù)器集群提供文件上傳、下載等服務(wù)。文件上傳流程文件下載流程上傳文件的文件名客戶端上傳文件后存儲服務(wù)器將文件ID返回給客戶端,此文件ID用于以后訪問該文件的索引信息。文件索引信息包括:組名,虛擬磁盤路徑,數(shù)據(jù)兩級目錄,文件名。組名:文件上傳后所在的storage組名稱,在文件上傳成功后有storage服務(wù)器返回,需要客戶端自行保存。虛擬磁盤路徑:storage配置的虛擬路徑,與磁盤選項store_path*對應(yīng)。如果配置了store_path0則是M00,如果配置了store_path1則是M01,以此類推。數(shù)據(jù)兩級目錄:storage服務(wù)器在每個虛擬磁盤路徑下創(chuàng)建的兩級目錄,用于存儲數(shù)據(jù)文件。文件名:與文件上傳時不同。是由存儲服務(wù)器根據(jù)特定信息生成,文件名包含:源存儲服務(wù)器IP地址、文件創(chuàng)建時間戳、文件大小、隨機數(shù)和文件拓展名等信息。FastDFS搭建可以使用一臺虛擬機來模擬,只有一個Tracker、一個Storage服務(wù)。配置nginx訪問圖片。

搭建步驟第一步:把fastDFS都上傳到linux系統(tǒng)。第二步:安裝FastDFS之前,先安裝libevent工具包。yum-yinstalllibevent第三步:安裝libfastcommonV1.0.7工具包。解壓縮./make.sh./make.shinstall把/usr/lib64/libfastcommon.so文件向/usr/lib/下復(fù)制一份第四步:安裝Tracker服務(wù)。解壓縮./make.sh./make.shinstall安裝后在/usr/bin/目錄下有以fdfs開頭的文件都是編譯出來的。配置文件都放到/etc/fdfs文件夾把/root/FastDFS/conf目錄下的所有的配置文件都復(fù)制到/etc/fdfs下。配置tracker服務(wù)。修改/root/FastDFS/conf/tracker.conf文件。啟動tracker。/usr/bin/fdfs_trackerd/etc/fdfs/tracker.conf重啟使用命令:/usr/bin/fdfs_trackerd/etc/fdfs/tracker.confrestart第五步:安裝storage服務(wù)。如果是在不同的服務(wù)器安裝,第四步的1~4需要重新執(zhí)行。配置storage服務(wù)。修改/root/FastDFS/conf/storage.conf文件啟動storage服務(wù)。/usr/bin/fdfs_storaged/etc/fdfs/storage.confrestart第六步:測試服務(wù)。修改配置文件/etc/fdfs/client.conf測試/usr/bin/fdfs_test/etc/fdfs/client.confuploadanti-steal.jpg第七步:搭建nginx提供http服務(wù)??梢允褂霉俜教峁┑膎ginx插件。要使用nginx插件需要重新編譯。fastdfs-nginx-module_v1.16.tar.gz解壓插件壓縮包修改/root/fastdfs-nginx-module/src/config文件,把其中的local去掉。對nginx重新config./configure\--prefix=/usr/local/nginx\--pid-path=/var/run/nginx/nginx.pid\--lock-path=/var/lock/nginx.lock\--error-log-path=/var/log/nginx/error.log\--http-log-path=/var/log/nginx/access.log\--with-http_gzip_static_module\--http-client-body-temp-path=/var/temp/nginx/client\--http-proxy-temp-path=/var/temp/nginx/proxy\--http-fastcgi-temp-path=/var/temp/nginx/fastcgi\--http-uwsgi-temp-path=/var/temp/nginx/uwsgi\--http-scgi-temp-path=/var/temp/nginx/scgi\--add-module=/root/fastdfs-nginx-module/srcmakemakeinstall把/root/fastdfs-nginx-module/src/mod_fastdfs.conf文件復(fù)制到/etc/fdfs目錄下。編輯:nginx的配置在nginx的配置文件中添加一個Server:server{listen80;server_name;location/group1/M00/{#root/home/FastDFS/fdfs_storage/data;ngx_fastdfs_module;}}將libfdfsclient.so拷貝至/usr/lib下cp/usr/lib64/libfdfsclient.so/usr/lib/啟動nginx圖片服務(wù)的使用官方提供一個jar包使用方法:把FastDFS提供的jar包添加到工程中初始化全局配置。加載一個配置文件。創(chuàng)建一個TrackerClient對象。創(chuàng)建一個TrackerServer對象。聲明一個StorageServer對象,null。獲得StorageClient對象。直接調(diào)用StorageClient對象方法上傳文件即可。@Test publicvoidtestUpload()throwsException{ //1、把FastDFS提供的jar包添加到工程中 //2、初始化全局配置。加載一個配置文件。 ClientGlobal.init("D:\\workspaces-itcast\\JaveEE18\\taotao-manager\\taotao-manager-web\\src\\main\\resources\\properties\\client.conf"); //3、創(chuàng)建一個TrackerClient對象。 TrackerClienttrackerClient=newTrackerClient(); //4、創(chuàng)建一個TrackerServer對象。 TrackerServertrackerServer=trackerClient.getConnection(); //5、聲明一個StorageServer對象,null。 StorageServerstorageServer=null; //6、獲得StorageClient對象。 StorageClientstorageClient=newStorageClient(trackerServer,storageServer); //7、直接調(diào)用StorageClient對象方法上傳文件即可。 String[]strings=storageClient.upload_file("D:\\Documents\\Pictures\\images\\2f2eb938943d.jpg","jpg",null); for(Stringstring:strings){ System.out.println(string); } }Client.conftracker_server=33:22122使用工具類上傳圖片@Test publicvoidtestFastDfsClient()throwsException{ FastDFSClientclient=newFastDFSClient("D:\\workspaces-itcast\\JaveEE18\\taotao-manager\\taotao-manager-web\\src\\main\\resources\\properties\\client.conf"); StringuploadFile=client.uploadFile("D:\\Documents\\Pictures\\images\\200811281555127886.jpg","jpg"); System.out.println(uploadFile); }圖片上傳功能功能分析請求的參數(shù):請求的url:/pic/upload參考文檔:/docs/upload.html添加jar包:Commons-io、fileupload,兩個jar包。在springmvc.xml中配置多媒體解析器<beanid="multipartResolver" class="mons.CommonsMultipartResolver"> <!--設(shè)定默認編碼--> <propertyname="defaultEncoding"value="UTF-8"></property> <!--設(shè)定文件上傳的最大值5MB,5*1024*1024--> <propertyname="maxUploadSize"value="5242880"></property> </bean>響應(yīng)的內(nèi)容返回格式(JSON)//成功時{"error":0,"url":"/path/to/file.ext"}//失敗時{"error":1,"message":"錯誤信息"}需要創(chuàng)建一個pojo描述返回值。Pojo中有三個屬性:error、url、message,可以放到taotao-common工程中。publicclassPictureResult{ privateinterror; privateStringurl; privateStringmessage; publicintgetError(){ returnerror; } publicvoidsetError(interror){ this.error=error; } publicStringgetUrl(){ returnurl; } publicvoidsetUrl(Stringurl){ this.url=url; } publicStringgetMessage(){ returnmessage; } publicvoidsetMessage(Stringmessage){ this.message=message; } }Service層接收圖片數(shù)據(jù),把圖片上傳到圖片服務(wù)器,返回PictureResult。需要使用FastDFSClient工具類。參數(shù):MultiPartFilepictureFile返回值:PictureResult@ServicepublicclassPictureServiceImplimplementsPictureService{ @Override publicPictureResultuploadPic(MultipartFilepicFile){ PictureResultresult=newPictureResult(); //判斷圖片是否為空 if(picFile.isEmpty()){ result.setError(1); result.setMessage("圖片為空"); returnresult; } //上傳到圖片服務(wù)器 try{ //取圖片擴展名 StringoriginalFilename=picFile.getOriginalFilename(); //取擴展名不要“.” StringextName=originalFilename.substring(originalFilename.lastIndexOf(".")+1); FastDFSClientclient=newFastDFSClient("classpath:properties/client.conf"); Stringurl=client.uploadFile(picFile.getBytes(),extName); //把url響應(yīng)給客戶端 result.setError(0); result.setUrl(url);

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論