在我的網站上,我想爲用戶提供一個頁面,上面有很多小圖片,有點像Windows中的縮略圖。
所有圖片文件大小從1KB到300KB不等,但通常不大於5KB。如何在網站上高效地存儲和提供大量小圖片?
目前所有這些圖像都位於網絡服務器(linux + apache)上的一個文件夾中,但我不認爲這是最好的解決方案,特別是如果我必須擴展到多個Web服務器和當我有數以千計的時候。
所以,我應該把這些文件放入數據庫(我可以)嗎?或者有一個單獨的文件服務器?其他建議?
在我的網站上,我想爲用戶提供一個頁面,上面有很多小圖片,有點像Windows中的縮略圖。
所有圖片文件大小從1KB到300KB不等,但通常不大於5KB。如何在網站上高效地存儲和提供大量小圖片?
目前所有這些圖像都位於網絡服務器(linux + apache)上的一個文件夾中,但我不認爲這是最好的解決方案,特別是如果我必須擴展到多個Web服務器和當我有數以千計的時候。
所以,我應該把這些文件放入數據庫(我可以)嗎?或者有一個單獨的文件服務器?其他建議?
有幾件事情要考慮:
您希望儘可能少放置CPU時間/圖片。我會建議使用代理服務這些圖片(作爲靜態內容)。我有與nginx良好的經驗,它是快速可靠的。
你的配置可能是這個樣子
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 300;
server {
listen 8080;
server_name localhost;
location /static/ {root static/pictures/;}
location/{ proxy_pass http://127.0.0.1:8081; }
}
}
如果你有8081端口服務器,你直接從文件夾/靜態/圖片爲你的圖片。 (請注意,以「/靜態」將這個文件夾提供服務的所有URL)。
好點!有關使用雲的評論? – 2010-03-10 01:01:59
我還沒有任何在雲上運行大型Web服務器的實踐經驗(只有批量的東西),所以,唉,我不能在那裏提供任何可靠的信息。 – 2010-03-10 14:14:42