方法
将远程图片服务器挂载到nginx所在服务器上,然后在nginx上配置访问。
步骤
两台服务器信息如下:
服务器名称 | 服务器IP | 共享目录 | 服务器说明 |
A | 10.100.1.10 | /mnt/data | Nginx所在服务器 |
B | 10.100.1.11 | /usr/local/data | 图片所在服务器 |
1. 配置共享服务器
目标:需要将B服务器上的目录/usr/local/data挂载到A服务器的/mnt/data下。
1.1. 配置B服务器NFS共享
注意:centos6.6使用的nfs4,已经不再需要安装portmap,而使用rpcbind代替。
命令:
#sudo vim /etc/exports
/usr/local/data 10.100.1.10(rw,sync)
说明:/usr/local/data 本服务器需要进行共享的文件夹,10.100.1.10 nginx所在服务器
rw:表示具有读写权限;sync表示同步写内存和磁盘
配置修改生效
# sudo exportfs -r
1.2. 启动B服务器上的服务
启动rpcbind和NFS服务
先开启服务
# sudo chkconfig rpcbind on
# sudo chkconfig nfs on
启动服务
# sudo service rpcbind start
# sudo service nfs start
确认服务启动成功
# sudo rpcinfo -p
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
...
100005 3 tcp 750 mountd
检查B服务器上是否输出共享目录
# sudo exportfs
/usr/local/data 10.100.1.10
1.3. 启动A服务器上的服务
启动rpcbind和NFS服务
先开启服务
# sudo chkconfig rpcbind on
# sudo chkconfig nfs on
启动服务
# sudo service rpcbind start
# sudo service nfs start
1.4. 挂载服务器
# sudo mount -o rw10.100.1.11:/usr/local/data/ /mnt/data
查看是否挂载成功
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 123G 3.9G 113G 4% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
/dev/sda1 190M 32M 149M 18% /boot
/dev/sda5 165G 60M 156G 1% /data
10.100.1.11:/usr/local/data/
485G 3.8G 456G 1% /mnt/data
2. 配置nginx
在nginx的server中添加如下配置:
location /img/ {
alias /mnt/data/;
autoindex on;
}
配置完成后刷新nginx配置文件(命令: sudo ./nginx -s reload)
然后就可以使用http://10.100.1.10/img/a.jpg进行图片访问了。