背景
图片服务器是专门为图片读写操作优化的独立服务器。通常,如果网站存在大量图片读写操作,那么应该首先把图片服务分离出来,也就是建立独立的图片服务器
优势
- 分担 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