2012-07-13 40 views
0

我在Linux/Apache下運行的專用服務器上有多個網站。這些網站需要訪問doc根目錄下名爲「DATA」的目錄中的常用數據。我無法複製每個網站的這個目錄。我想把它放在一個通用目錄下(比如/ DATA),併爲每個站點的doc根提供一個到這個目錄的符號鏈接。如何讓多個網站訪問共同目錄

WWW/DATA - >/DATA

  1. 是否有這樣做的更好的辦法?

  2. 如果我把這個通用目錄直接放在Linux根目錄下,從Linux的角度來看可能會有問題,因爲目錄大小可能是幾千兆字節,而/ DATA下的子目錄需要寫入權限。

感謝

+0

這個目錄是通過網絡服務器來訪問嗎? (例如http://website.com/data/file.zip)或通過文件系統(/data/file.zip)? – 2012-07-13 02:39:42

+0

它將通過文件系統。腳本會將文件加載到此目錄並訪問此目錄以返回內容。 – rpat 2012-07-13 02:48:19

回答

0

使用AliasDirectory指令一起。這將允許該站點通過URL路徑訪問該目錄。

我不知道到底是什麼意思,你必須腳本訪問目錄提供數據。執行shell腳本來讀取產品數據完全是另一回事,但如果這是你正在做的事,你可能想避免這種情況。應用程序頁面可以包含在數據目錄中,並使用相對路徑來獲取數據。然後所有網站都獲得相同的腳本和數據。

我不知道你的數據是什麼,但我可能會選擇把它放在一個數據庫中。想想如果你不得不擴展你的應用程序,你需要如何更新多臺機器。也許你所擁有的數據很簡單,而且數據庫過大。

+0

我確實使用Alias和Directory指令。由於該文件將是文檔(例如PDF文件)或媒體(例如,mp3或視頻文件),數據庫將不是一種選擇。目錄訪問的一個例子是CGI腳本將返回一個媒體文件。我可以將所有文件保存在一個公共目錄下,並在每個站點的doc根目錄下提供一個符號鏈接。這會工作。我需要了解是否將此目錄直接保存在根目錄下,以及是否有更好的替代方法。 – rpat 2012-07-13 04:32:00

+0

將它保留在根目錄下可能不是問題,但將它放在/ var下的某處可能更合適。如果您使用符號鏈接,那麼如果您決定更改位置,則會阻止應用程序進行更改。 (你可能需要更多的磁盤空間,並決定將它放在一個新的mount上。)至於權限,我將它命名爲root:apache(其中apache是​​適合你的發行版的組名),並將權限設置爲640以防止針對CGI腳本無意中修改數據。 – Nathan 2012-07-13 14:25:55