FastDFS+Nginx
FastDFS +Nginx图片存储
服务器IP:
Tracker: 192.168.1.31
Storage0: 192.168.1.30
Storage1: 192.168.1.33
所需要的安装包均在各服务器的/usr/src目录下,名字如以下:
FastDFS_v5.08.tar.gz
libfastcommon-master.tar.gz
Fastdfs-nginx-module_v1.16.tar.gz(tracker不需要这个)
安装fastdfs_tracker(192.168.1.31)
- 安装libfastcommon工具包
- 切换到安装包目录,解压相应的包安装包
cd /usr/src
tar xf libfastcommon-master.tar.gz
进入解压后的目录进行安装
cd libfastcommon-master
./make.sh
./make.sh install
- 安装tracker服务
- 切换到安装包目录,解压相应的安装包
cd /usr/src
tar xf FastDFS_v5.08.tar.gz
-
- 进入解压后的目录进行安装
cd FastDFS
./make.sh
./make.sh install
-
- 把/usr/src/FastDFS/conf下的所有配置文件复制到/etc/fdfs下
cp conf/* /etc/fdfs/
- 修改配置文件并启动tracker服务
cd /etc/fdfs
vim tracker.conf
…
base_path=/data/fastdfs
max_connection=4096
store_group=group1
use_storage_id = 1
保存退出
启动tracker
fdfs_trackered /etc/fdfs/tracker.conf
安装fastdfs_storage(192.168.1.30,192.168.1.33)
- 安装libfastcommon工具包
- 切换到安装包目录,解压相应的包安装包
cd /usr/src
tar xf libfastcommon-master.tar.gz
-
- 进入解压后的目录进行安装
cd libfastcommon-master
./make.sh
./make.sh install
- 安装storage服务
- 切换到安装包目录,解压相应的安装包
cd /usr/src
tar xf FastDFS_v5.08.tar.gz
-
- 进入解压后的目录进行安装
cd FastDFS
./make.sh
./make.sh install
-
- 把/usr/src/FastDFS/conf下的配置文件复制到/etc/fdfs下
cp conf/{client.conf,storage.conf} /etc/fdfs/
- 修改配置文件并启动tracker服务
cd /etc/fdfs
vim storage.conf
…
base_path=/data/fastdfs
max_connection=4096
storage_path0=/data/fastdfs
tracker_server=192.168.1.31:22122
http.server_port=80
保存退出
启动storage
fdfs_storaged /etc/fdfs/storage.conf
安装nginx并配置fastdfs
1.部署环境
已经成功搭建一tracker,两storage的fastdfs系统上
tracker : 192.168.1.31
storage0: 192.168.1.30
storage1: 192.168.1.33
############只需在两个storage上操作#############
2.下载两个包,放在/usr/src
a) fastdfs-nginx-module_v1.16.tar.gz(重定向文件到源服务器,解决同组服务器间同步延迟问题)
b) nginx-1.12.1.tar.gz
3.解压并编译安装
useradd -s /sbin/nologin nginx
tar xf fastdfs-nginx-module_v1.16.tar.gz
tar xf nginx-1.12.1.tar.gz
cd nginx
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --add-module=../fastdfs-nginx-module/src
make && make install
4.复制fastdfs模块文件到/etc/fdfs下
cp ../fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs
5.修改mod_fastdfs.conf
vim /etc/fdfs/mod_fastdfs.conf
tracker_server=192.168.1.31:22122
storage_sever_port=23000
group_name=group1
url_have_group_name=true
store_path0=/data/fdfs_storage/storage0 ##与storage.conf数据一致
6.复制FastDFS部分配置文件到/etc/fdfs目录
cp /usr/src/FastDFS/conf/{http.conf,mime.types} /etc/fdfs
7.修改/etc/fdfs/client.conf
vim /etc/fdfs/client.conf
…
base_path=/data/fastdfs
tracker_server=192.168.1.31:22122
8.配置nginx文件
server {
listen 80 ###检查此端口,要与storage.conf文件中http.server_port一致
location ~/group([0-9])/M00 {
ngx_fastdfs_module;
}
9.开启nginx
/usr/local/nginx/sbin/nginx
10.浏览器访问
ip[:port]/fastdfs存储返回值
如:
192.168.1.33/group1/M00/00/00/tlxkwlhttsGAU2ZXAAC07quU0oE095.png
问题:
1. 若编译安装nginx时出现错误,提示fdfs_define.h 没有这个文件。
解决方法:
ln -sv /usr/include/fastcommon /usr/local/include/fastcommon
ln -sv /usr/include/fastdfs /usr/local/include/fastdfs
ln -sv /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so