iT邦幫忙

0

網站上如何讓使用者直接上傳到另外一台伺服器

請教各位先進

我目前有兩台伺服器,一台做WEB SERVER,一台做資料伺服器,彼此之間用LAN溝通
WEB SERVER有對外IP,而資料伺服器只有內網IP 10.0.0.2

我想請教要如何做才可以讓網站的使用者直接上傳圖片和檔案到資料伺服器的指定資料夾內
而我在WEB SERVER又要如何呼叫資料伺服器的這些檔案?

感謝

8
a115073
iT邦研究生 2 級 ‧ 2013-11-27 15:44:26

小弟用Linux面解釋給您參考
1.Linux下用iptables的PREROUTING的方式把ftp port導到10.0.0.2
2.用mount、url路徑都可以,端看您的選擇

感謝您的回應

不過我的上傳程式是做在網頁上給網站的訪客的,這樣的作法也適用嗎

fillano iT邦超人 1 級 ‧ 2013-11-27 17:42:19 檢舉

a大這樣回答,是因為客戶不用這些方式,根本就碰不到你說的資料伺服器阿XD,你是基於怎樣的需求而設計這樣的架構?

其實不一定要用到ftp,資料庫伺服器可以把目錄透過nfs或samba等方式分享給網頁伺服器掛載(mount)成目錄,然後把檔案上傳到這個目錄。(這樣的架溝,就跟上傳到網頁伺服器本機是一樣的意思)

8
wiseguy
iT邦超人 1 級 ‧ 2013-11-27 17:31:29

看你的資料伺服器是提供什麼介面給其它主機存取,比如是提供網路芳鄰,那就在 WEB SERVER 用網路芳鄰 (windows) 或 sambamount (Linux) 把資料伺服器的檔案系統變成 local 端目錄,然後就直接當一般目錄存取就好了。
同樣的,如果資料伺服器是提供 NFS 協定,那就用 NFS 來存取。重點就是 資料伺服器 是提供什麼方式讓其它主機來使用。

想請教一下,若用SAMBA,但我們網站是會員註冊後就可以上傳和修改自己的圖片,在SAMBA的權限設定上會不會有困難?

wiseguy iT邦超人 1 級 ‧ 2013-11-28 12:28:30 檢舉

網站會員跟 samba 權限無關。
基本上,會員的檔案要存之前,你必須已經用可以存取samba 的帳密 mount 好磁區了。

8
player
iT邦大師 1 級 ‧ 2013-11-27 19:20:55

要看上傳的檔案是扔進DB
還是存資料夾的檔案?

前者不用考慮太多, WebServer用存取資料庫的方法
後者因為是存取檔案在別台, 要考慮到是否會受到OS的影響而自動斷線

player大, 想請問一下,若檔案和圖片全丟進DB(我們是MYSQL而已),會不會有其他的問題? 因為之前GOOGLE,是有人說這樣會讓DB跑不動?

因為我們網站的圖片非常的多,看了很多資料,好像都建議把圖片存在directory,然後DB只存reference. 這樣是對的嗎

player iT邦大師 1 級 ‧ 2013-11-29 20:48:19 檢舉

如果怕DB爆掉, 或是DB太大跑不動
是可以用你說的DB只存reference

之前還有人用的上下班打卡系統
刷卡後自動拍照上傳網站
照片我是存成檔案的 (有用GDI+壓縮過)
DB只記錄圖檔路徑
這種系統似乎沒人要用了, 不然硬碟真的有一天會被塞爆

8
showjack
iT邦新手 1 級 ‧ 2013-11-28 15:17:46

同一個問題之前就問過, 也許多人給你回答了, 為何還要再問一次??

報告,之前是問以管理員的身分在console伝資料到只有內網ip的主機

4
cjhung
iT邦新手 5 級 ‧ 2013-11-30 18:53:04

請提供兩台伺服器作業系統各是甚麼!?

如果是 Windows 就在把 file server 分享的資料夾掛載在 R 槽,
之後把用戶的資料存放地點指定在 R 槽即可(權限開 iis 可讀寫權限).

Linux 則是用 nfs 即可.

我要發表回答

立即登入回答