1、FastDFS簡介
成都創(chuàng)新互聯自2013年起,先為海鹽等服務建站,海鹽等地企業(yè),進行企業(yè)商務咨詢服務。為海鹽企業(yè)網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。1.1 介紹
FastDFS是一個開源的,高性能的的分布式文件系統(tǒng),他主要的功能包括:文件存儲,同步和訪問,設計基于高可用和負載均衡,FastDFS非常適用于基于文件服務的站點,例如圖片分享和視頻分享網站。
FastDFS它
是一個輕量級的開源分布式文件系統(tǒng),主要解決了大容量的文件存儲和高并發(fā)訪問的問題,文件存取時實現了負載均衡。
支持存儲服務器在線擴容,支持相同的文件只保存一份,節(jié)約磁盤。
FastDFS
只能通過Client API訪問,不支持POSIX訪問方式。
FastDFS適合中大型網站使用,用來存儲資源文件(如:圖片、文檔、視頻等)
1.2 FastDFS組成
tracker server
跟蹤服務器:用來調度來自客戶端的請求。且在內存中記錄所有存儲組和存儲服務器的信息狀態(tài)。
存儲服務器:用來存儲文件(data)和文件屬性(metadata)
客戶端:業(yè)務請求發(fā)起方,通過專用接口基于TCP協(xié)議與tracker以及storage server進行交互
group
組,也可稱為卷:同組內上的文件是完全相同的
包括兩部分:組名和文件名(包含路徑)
文件相關屬性:鍵值對(Key Value Pair)方式
文件標識符: (例如: group1/M00/00/00/CgEOxVegXB2AdYafAAAB0b8tBbQ9155303 )
group1:存儲組的組名;上傳完成后,需要客戶端自行保存
M00:服務器配置的虛擬路徑,與磁盤選項store_path#對應
00/00:兩級以兩位16進制數字命名的目錄
CgEOxVegXB2AdYafAAAB0b8tBbQ9155303:文件名,與原文件名并不相同;由storage server根據特定信息生成。文件名包含:源存儲服務器的IP地址、文件創(chuàng)建時間戳、文件大小、隨機數和文件擴展名等
1.3 FastDFS同步機制
同一組內的storage server之間是對等的,文件上傳、刪除等操作可以在任意一臺storage server上進行;
文件同步只在同組內的storage server之間進行,采用push方式,即源服務器同步給目標服務器;
源頭數據才需要同步,備份數據不需要再次同步,否則就構成環(huán)路了;
提示:上述第二條規(guī)則有個例外,就是新增加一臺storage server時,由已有的一臺storage server將已有的所有數據(包括源頭數據和備份數據)同步給該新增服務器。
1.4 FastDFS特性
指標 | 說明 |
系統(tǒng)簡潔性 | 很簡潔,只有兩個角色:tracker、storage |
系統(tǒng)性能 | 很高、沒有使用數據庫,文件同步直接點對點,不經過tracker中轉 |
系統(tǒng)穩(wěn)定性 | 高、C語言開發(fā),可支持高并發(fā)和負載 |
RAID方式 | 分組(組內冗余),具有很高的靈活性 |
通信協(xié)議 | 專有協(xié)議,下載文件支持HTTP |
屬性(meta,data) | 支持 |
相同內容文件只保存一份 | 支持 |
下載文件時支持文件偏移量 | 支持 |
2、背景
在這里,我用3臺服務器集群部署,這3臺服務器都要部署nginx+fastdfs以及相關模塊。3臺服務器部署方式都一樣,只不過storage服務器有些配置會不同,部署的過程中請大家看清楚在哪里操作,過程有點麻煩,請大家一定要有耐心,一步一步走下去部署是OK的。
2.1 環(huán)境說明
172.18.18.111(tracker服務器): nginx、fastdfs(運行tracker、storage)、fastfds其它模塊
172.18.18.112(storage服務器):nginx、fastdfs(運行storage)、fastfds其它模塊
172.18.18.113(storage服務器):nginx、fastdfs(運行storage)、fastfds其它模塊
2.2 軟件包、安裝路徑
準備的軟件包:
nginx-1.9.3.tar.gz lua-5.1.4.tar.gz libfastcommon-1.0.35.zip fastdfs-master.zip LuaJIT-2.1.0-beta2.tar.gz v0.2.19.tar.gz GraphicsMagick-1.3.25.tar.gz GraphicsMagick-1.3.25.tar |
安裝的路徑:
服務 | 目錄 |
nginx | /usr/local/nginx/ |
fastdfs配置 | /etc/fdfs/ |
fastdfs | /usr/local/fastDFS/ |
Storage_data | /usr/local/fastDFS/storage/ |
安裝包 | /usr/src |
3、部署FastDFS
3.1、安裝libfastcommon(tracker和storage服務器操作)
安裝fastDFS前,首先下載最新版本的libfastcommon進行安裝,上傳至/usr/src目錄中。下載地址https://github.com/happyfish200/libfastcommon/releases
解壓、配置和編譯:
#cd /usr/src/ #unzip libfastcommon-1.0.35.zip #cd libfastcommon-1.0.35/ #./make.sh #./make.sh install |
提示:確認make沒有錯誤后,執(zhí)行安裝,64位系統(tǒng)默認會復制到/usr/lib64下。
設置環(huán)境變量、創(chuàng)建軟鏈接:
#export LD_LIBRARY_PATH=/usr/lib64/ #ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so |
3.2、安裝fastdfs(tracker和storage服務器操作)
下載最新版本的fastDFS,上傳至/usr/src/目錄中。下載地址:https://github.com/happyfish200/fastdfs
解壓、編譯:
#cd /usr/src/ #unzip fastdfs-master.zip #cd fastdfs-master/ #./make.sh #./make.sh install |
提示:確認make沒有錯誤后,執(zhí)行安裝,默認會安裝到/usr/bin中,以及會在/etc/fdfs生成以.sample結尾的4個文件,如下所示:
#ll /etc/fdfs/ -rw-r--r-- 1 root root 1461 Aug 12 15:48 client.conf.sample -rw-r--r-- 1 root root 7927 Aug 12 15:48 storage.conf.sample -rw-r--r-- 1 root root 105 Aug 12 15:48 storage_ids.conf.sample -rw-r--r-- 1 root root 7389 Aug 12 15:48 tracker.conf.sample |
# ll /usr/bin/fdfs_* -rwxr-xr-x 1 root root 317432 Aug 12 15:48 /usr/bin/fdfs_appender_test -rwxr-xr-x 1 root root 317208 Aug 12 15:48 /usr/bin/fdfs_appender_test1 -rwxr-xr-x 1 root root 304064 Aug 12 15:48 /usr/bin/fdfs_append_file -rwxr-xr-x 1 root root 303800 Aug 12 15:48 /usr/bin/fdfs_crc32 -rwxr-xr-x 1 root root 304120 Aug 12 15:48 /usr/bin/fdfs_delete_file -rwxr-xr-x 1 root root 304856 Aug 12 15:48 /usr/bin/fdfs_download_file -rwxr-xr-x 1 root root 304448 Aug 12 15:48 /usr/bin/fdfs_file_info -rwxr-xr-x 1 root root 322360 Aug 12 15:48 /usr/bin/fdfs_monitor -rwxr-xr-x 1 root root 1111640 Aug 12 15:48 /usr/bin/fdfs_storaged -rwxr-xr-x 1 root root 327376 Aug 12 15:48 /usr/bin/fdfs_test -rwxr-xr-x 1 root root 326592 Aug 12 15:48 /usr/bin/fdfs_test1 -rwxr-xr-x 1 root root 453880 Aug 12 15:48 /usr/bin/fdfs_trackerd -rwxr-xr-x 1 root root 305048 Aug 12 15:48 /usr/bin/fdfs_upload_appender -rwxr-xr-x 1 root root 306072 Aug 12 15:48 /usr/bin/fdfs_upload_file |
3.3 配置tracker服務器(在tracker服務器操作)
復制tracker樣例配置文件,并重命名
#cd /etc/fdfs/ #cp tracker.conf.sample tracker.conf |
修改tracker配置文件
#vim tracker.conf bind_addr=172.18.18.111 #綁定服務IP,如果不填則表示所有的 port=22122 #提供服務的端口 base_path=/usr/local/fastDFS #存儲日志和數據的根目錄 store_group=group1 #設當上一個參數設定為1 時 (store_lookup=1,即指定組名時),必須設置本參數為系統(tǒng)中存在的一個組名。如果選擇其他的上傳方式,這個參數就沒有效了。 store_server=1 #選擇哪個storage server 進行上傳操作,1表示根據ip 地址進行排序選擇第一個服務器(IP地址最小者) download_server=1 #選擇哪個 storage server 作為下載服務器,1表示哪個為源storage server 就用哪一個 http.server_port=80 #HTTP服務端口,默認為8080,你也可以不用改,但是測試訪問你要帶8080端口訪問 |
其它參數保留默認配置, 具體配置解釋可參考官方文檔說明:http://bbs.chinaunix.net/thread-1941456-1-1.html
創(chuàng)建bash_path指定路徑
#mkdir /usr/local/fastDFS/ #mkdir -p /usr/local/fastDFS/storage/data |
3.4 配置storage服務器(tracker和storage服務器操作)
復制storage樣例配置文件,并重命名:
#cd /etc/fdfs/ #cp storage.conf.sample storage.conf |
修改tstorage配置文件
#vim storage.conf group_name=group1 #指定此 storage server 所在 組 bind_addr= #綁定服務IP,可以不用填寫(如果是tracker服務器,也可以配置tracker服務器自身IP地址) base_path=/usr/local/fastDFS #儲日志和數據的根目錄 store_path0=/usr/local/fastDFS/storage #第1個存儲目錄 tracker_server=172.18.18.111:22122 #tracker服務器的IP和端口,如果有多個tracker服務器可以寫多行 http.server_port=80 #HTTP服務端口,默認為8888,你也可以不用改,但是測試訪問你要帶8080端口訪問 |
其它參數保留默認配置, 具體配置解釋可參考官方文檔說明:http://bbs.chinaunix.net/thread-1941456-1-1.html
3. 5修改tracker服務器客戶端配置文件(tracker服務器操作)
復制client樣例配置文件,并重命名
#cd /etc/fdfs/ #cp client.conf.sample client.conf |
修改client.conf配置文件:
#cd /etc/fdfs/ #cp client.conf.sample client.conf #vim client.conf base_path=/usr/local/fastDFS #修改路徑 tracker_server=172.18.18.111:22122 #tracker服務器IP和端口,有多個tracker服務器可以寫多條配置 |
4、文件上傳測試
4.1 啟動tracker服務(tracker服務器操作)
#/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf 檢查FastDFS Tracker Server是否啟動成功: #ps -ef | grep fdfs_trackerd root 27077 25738 0 15:11 pts/2 00:00:00 grep --color=auto fdfs_trackerd root 31854 1 0 Nov20 ? 00:02:34 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf |
4.2 啟動storage服務(tracker和storage服務器操作)
到了這里,有些朋友可能會問我,為什么我啟動storage服務也要在tracker服務器上操作呢?大家有沒有注意,我在2.1的步驟中,就聲明了tracker服務器同時運行(tracker、storage)這兩個服務,所以不要覺得奇怪。
# /usr/bin/fdfs_storaged /etc/fdfs/storage.conf # ps -ef | grep fdfs_storaged root 27234 25738 0 15:15 pts/2 00:00:00 grep --color=auto fdfs_storaged root 31863 1 0 Nov20 ? 00:03:37 /usr/bin/fdfs_storaged /etc/fdfs/storage.conf |
4.3 執(zhí)行文件上傳(tracker服務器操作)
我先放張測試圖片(test.jpg)至/home目錄下:
#ll /home drwx------. 14 admin admin 4096 Apr 22 2017 admin -rw-r--r-- 1 root root 4121391 Dec 7 17:13 test.jpg |
使用fdfs_test命令來測試上傳,格式如下:
#fdfs_test /etc/fdfs/client.conf upload /home/test.jpg This is FastDFS client test program v5.11 Copyright (C) 2008, Happy Fish / YuQing FastDFS may be copied only under the terms of the GNU General Public License V3, which may be found in the FastDFS source kit. Please visit the FastDFS Home Page http://www.csource.org/ for more detail. [2017-12-27 15:20:21] DEBUG - base_path=/usr/local/fastDFS, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0 tracker_query_storage_store_list_without_group: server 1. group_name=, ip_addr=172.18.18.111, port=23000 group_name=group1, ip_addr=172.18.18.111, port=23000 storage_upload_by_filename group_name=group1, remote_filename=M00/00/12/rBISb1pDSbWAeUGaAD7jL_Zyu6I957.jpg source ip address: 172.18.18.111 file timestamp=2017-12-27 15:20:21 file size=4121391 file crc32=4134714274 example file url: http://172.18.18.111/group1/M00/00/12/rBISb1pDSbWAeUGaAD7jL_Zyu6I957.jpg storage_upload_slave_by_filename group_name=group1, remote_filename=M00/00/12/rBISb1pDSbWAeUGaAD7jL_Zyu6I957_big.jpg source ip address: 172.18.18.111 file timestamp=2017-12-27 15:20:21 file size=4121391 file crc32=4134714274 example file url: http://172.18.18.111/group1/M00/00/12/rBISb1pDSbWAeUGaAD7jL_Zyu6I957_big.jpg |
如下圖的結果,能返回文件ID,說明圖片上傳成功:
說明:剛才把test.jpg的圖片上傳至fastdfs了,如果要用瀏覽器訪問測試上面給出的url地址,還需要安裝nginx服務。
用fdfs_delete_file命令來測試刪除(這里我不做刪除的測試了,我下面還要用到這張上傳的圖片),如下操作:
# fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/12/rBISb1pDSbWAeUGaAD7jL_Zyu6I957.jpg |
4.1 安裝LuaJIT
下載最新的LuaJIT,然后上傳至/usr/src目錄下:
#cd /usr/src #wget http://luajit.org/download/LuaJIT-2.1.0-beta2.tar.gz |
解壓、配置:
# tar zxf LuaJIT-2.1.0-beta2.tar.gz # cd LuaJIT-2.1.0-beta2 # make # make install |
4.2 安裝nginx_devel_kit(NDK)模塊
下載最新的nginx_devel_kit模塊,然后上傳至/usr/src目錄下:
#cd /usr/src # wget http://luajit.org/download/LuaJIT-2.1.0-beta2.tar.gz |
解壓、配置:
# tar zxf LuaJIT-2.1.0-beta2.tar.gz # cd LuaJIT-2.1.0-beta2 # make # make install |
4.3 安裝lua_nginx_module模塊
下載最新的nginx_devel_module模塊,然后上傳至/usr/src目錄:
#cd /usr/src # wget https://github.com/openresty/lua-nginx-module/archive/v0.10.2.tar.gz |
4.4 安裝GraphicsMagick模塊(免費的圖片編輯、合成等功能的軟件)
下載最新的GraphicsMagick模塊,然后上傳至/usr/src目錄:
#cd /usr/src #wget ftp://ftp.graphicsmagick.org/pub/GraphicsMagick/1.3/GraphicsMagick-1.3.5.tar.gz |
安裝ImageMagick依賴包:
# yum -y install libpng-devel libpng # yum -y install libjpeg-devel libjpeg # yum -y install libtool-ltdl libtool-ltdl-devel #yum -y install ImageMagick ImageMagick-devel |
編譯、配置:
# cd GraphicsMagick-1.3.25 # ./configure #make && make install |
PS: 將會默認在一下目錄中安裝相應文件:
/usr/local/bin
/usr/local/include
/usr/local/lib
/usr/local/share
提示:整個第4步可根據公司的業(yè)務情況來增加這些模塊,如果你們公司不需要用到這些模塊,這一步可以省略......
5.1 fastdfs-nginx-module作用說明
FastDFS 通過 Tracker 服務器,將文件放在 Storage 服務器存儲,但是同組存儲服務器之間需要進入文件復制,有同步延遲的問題。假設 Tracker 服務器將文件上傳到了 ip01,上傳成功后文件 ID 已經返回給客戶端。此時 FastDFS 存儲集群機制會將這個文件同步到同組存儲 ip02,在文件還沒有復制完成的情況下,客戶端如果用這個文件 ID 在 ip02 上取文件,就會出現文件無法訪問的錯誤。而 fastdfs-nginx-module 可以重定向文件連接到源服務器取文件,避免客戶端由于復制延遲導致的文件無法訪問錯誤。(解壓后的 fastdfs-nginx-module 在 nginx 安裝時使用)。
5.2 下載fastdfs-nginx-module
下載最新的fastdfs-nginx-module,然后上傳至/usr/src目錄下:
#cd /usr/src #wget https://github.com/happyfish200/fastdfs-nginx-module/archive/master.zip #unzip master |
5.3 安裝nginx依賴包
#yum -y install gcc gcc-c++ make automake autoconf libtool pcre* zlib openssl openssl-devel |
5.3 編譯安裝nginx(把剛才幾個模塊編譯添加進去)
# cd /usr/src #tar -zxvf nginx-1.9.3.tar.gz # cd nginx-1.9.3 # ./configure --prefix=/usr/local/nginx --user=www --group=www \ --with-http_stub_status_module \ --with-http_realip_module \ --with-pcre \ --with-http_ssl_module \ --with-stream \ --add-module=/usr/src/fastdfs/ngx_devel_kit-0.2.19/ \ --add-module=/usr/src/fastdfs/lua-nginx-module-0.10.2/ \ --add-module=/usr/src/fastdfs/fastdfs-nginx-module-master/src #make #make install |
如果出現如下錯誤:
./configure: error: ngx_http_lua_module requires the Lua library.
解決:
安裝lua的相關依賴:yum install readline-dev readline-devel
安裝lua5.1:
下載lux5.1的包 # tar -zxvf lua-5.1.4.tar.gz # cd lua-5.1.4 # make linux test # make install |
然后在重新:
./configure
make && make install
5.4 復制fastdfs-nginx-module 源碼中的配置文件到/etc/fdfs 目錄,并修改
#cp /usr/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/ #vim /etc/fdfs/mod_fastdfs.conf 修改以下內容: base_path=/usr/local/fastDFS #存儲數據庫根目錄 tracker_server=172.18.18.111:22122 #tracker服務器IP和端口 url_have_group_name = true #url中包含group名稱 store_path0=/usr/local/fastDFS/storage log_filename=/usr/local/fastDFS/logs/mod_fastdfs.log #mod_fastdfs日記存放路徑 group_count = 1 在文件末尾添加: [group1] group_name=group1 storage_server_port=23000 store_path_count=1 store_path0=/usr/local/fastDFS/storage |
#手動創(chuàng)建mod_fastdfs.log日志文件 #touch /usr/local/fastDFS/log/mod_fastdfs.lo |
5.5 復制 fastdfs-mast的部分配置文件到/etc/fdfs 目錄
#cd /usr/src/fastdfs-master/conf #cp http.conf mime.types /etc/fdfs/ |
5.6 nginx配置、啟動
創(chuàng)建www用戶
#groupadd www #useradd -g www www |
修改fastDFS目錄屬組權限:
#chown -R www:www /usr/local/fastDFS/ |
修改nginx.conf文件:
#vim /usr/local/nginx/conf/nginx.conf user www; worker_processes auto; server { listen 80; server_name localhost; location / { root html; index index.php index.html index.htm; location /group1/M00 { ngx_fastdfs_module; alias /usr/local/fastDFS/storage/data; set $image_root "/usr/local/fastDFS/storage/data"; if ($uri ~ "/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/(.*)") { set $image_dir "$image_root/$3/$4/"; set $image_name "$5"; set $file "$image_dir$image_name"; } if ($image_name ~ "([a-zA-Z0-9_\-]+)_([0-9]+x[0-9]+|water)?(q[0-9]{1,2})?.([a-zA-Z0-9]+)") { set $a "$1"; set $b "$2"; set $c "$3"; set $d "$4"; set $e "$5"; set $f "$6"; set $file "$file"; } } } |
說明:
A、/etc/fdfs/storage.conf 中的配置 http.server_port=8888 ,默認端口是8888,我改成 80,如果大家沒有修改這個默認端口,那么nginx配置監(jiān)聽的端口也要改成8888。
B、Storage 對應有多個 group 的情況下,訪問路徑帶 group 名,如/group1/M00/00/00/xxx, 對應的 Nginx 配置為:
location ~/group([0-9])/M00 {
ngx_fastdfs_module;
}
啟動nginx服務:
#/usr/local/nginx/sbin/nginx -t ngx_http_fastdfs_set pid=6715 nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful #/usr/local/nginx/sbin/nginx |
6、用http的方式測試剛才上傳的圖片
http://172.18.18.111/group1/M00/00/12/rBISb1pDSbWAeUGaAD7jL_Zyu6I957_big.jpg
測試如下圖所示:
到這里有點難為情了,上面這張是筆者自己的照片,在電腦上隨手拿了一張圖片就上傳了,唯一一張圖片,當然,讀者朋友們覺得很帥的話也可以收藏起來,哈哈!!
然后,我們來測試一下圖片能不能裁剪(前提條件是你要配置了4.4的操作步驟),修改下面紅色的字體為裁剪的大小,然后在瀏覽器中訪問:
http://172.18.18.111/group1/M00/00/12/rBISb1pDSbWAeUGaAD7jL_Zyu6I957_400x400.jpg
通過上圖可以看到,我這里可以把上傳的圖片進行裁剪,圖片確實裁剪小了,是OK的。
7、fastDFS一些簡單操作命令
#重啟storage服務: # /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart #重啟tracker服務: # /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart #關閉storage服務: # killall fdfs_storaged #關閉tracker服務: # killall fdfs_trackered #查看集群狀態(tài): #/usr/bin/fdfs_monitor /etc/fdfs/storage.conf #上傳操作: #fdfs_test /etc/fdfs/client.conf upload 文件具體url #刪除操作: #fdfs_delete_file /etc/fdfs/client.conf 上傳后的路徑 比如: #fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/ZciEZlepkl6Abj28AAAPOSSdASU225_big.gif) |
8、Java API 客戶端配置
注意修改tracker服務器Ip地址:
connect_timeout = 2 network_timeout = 30 charset = ISO8859-1 http.tracker_http_port = 80 http.anti_steal_token = no tracker_server=172.18.18.111:22122 default_group_name=group1 |
當然,還有php及其它客戶端連接到fastdfs,我就不挨個介紹了,感興趣的朋友可以自行百度或留言討論,最后要感謝張秋方大師筆者才能才能順利完成此篇文稿。
參考文章:
https://blog.51cto.com/xinzong/1834466
https://github.com/qieangel2013/nginxLuaGmFastdfs
另外有需要云服務器可以了解下創(chuàng)新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
新聞名稱:Centos7.X部署分布式文件系統(tǒng):FastDFS+Nginx-創(chuàng)新互聯
本文路徑:http://chinadenli.net/article18/cdgedp.html
成都網站建設公司_創(chuàng)新互聯,為您提供域名注冊、定制開發(fā)、搜索引擎優(yōu)化、營銷型網站建設、網站導航、網站建設
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯