背景
圖檔伺服器是專門為圖檔讀寫操作優化的獨立伺服器。通常,如果網站存在大量圖檔讀寫操作,那麼應該首先把圖檔服務分離出來,也就是建立獨立的圖檔伺服器
優勢
- 分擔 Web 伺服器的 I/O 負載 - 将耗費資源的圖檔服務分離出來,提高伺服器的性能和穩定性
- 能夠專門對圖檔伺服器進行優化 - 為圖檔服務設定有針對性的緩存方案,減少帶寬成本,提高通路速度
- 提高網站的可擴充性 - 通過增加圖檔伺服器,提高圖檔吞吐能力
本文采用nginx方案部署圖檔伺服器。
安裝nginx
建議采用源碼安裝nginx,這樣配置檔案比較全,如果使用apt-get安裝過nginx,建議先解除安裝掉,解除安裝方式如下
#su到超級使用者
rm -rf /etc/nginx/
rm -rf /usr/sbin/nginx
rm /usr/share/man/man1/nginx.1.gz
apt-get remove nginx*
解除安裝完之後開始安裝,首先安裝依賴
sudo apt-get install build-essential
sudo apt-get install libtool
sudo apt-get install libpcre3 libpcre3-dev
sudo apt-get install zlib1g-dev
sudo apt-get install openssl
下載下傳源碼包
wget http://nginx.org/download/nginx-1.11.3.tar.gz
解壓并進入目錄安裝
tar -zxvf nginx-1.11.3.tar.gz
cd nginx-1.11.3
./configure --prefix=/usr/local/nginx
make
sudo make install
修改配置檔案
打開配置檔案
vim /usr/local/nginx/conf/nginx.conf
在http中的server中增加一個location,增加圖檔儲存路徑
location ~ .(jpg|png|jpeg|gif|bmp)$ {
root /root/images/;
autoindex on;
}
儲存後退出,啟動nginx
sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
若出現程序占用,則強制性殺死再啟動
pkill -9 nginx
啟動後如果有修改配置檔案,則運作重新開機指令
sudo /usr/local/nginx/sbin/nginx -s reload
通路圖檔
在圖檔路徑下,放一張測試圖檔test.jpg,然後在浏覽器中輸入http://ip/test.jpg即可正常通路到圖檔
若通路時出現403 Forbidden錯誤,則在nginx.conf頭部加入一行:user root; 然後重新開機
注意,如果想要修改通路端口号,則在conf檔案中修改server的listen号,然後通路時加上對應的端口号即可
開機啟動
為了使nginx圖檔伺服器開機自動運作,修改/etc/rc.local檔案
在exit 0之前加入啟動指令
./usr/local/nginx/sbin/nginx