Linux 配置 FastDFS
一、配置 libfastcommon
1、下载 libfastcommon
wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz
2、解压,进入目录
tar -zxvf V1.0.7.tar.gz
cd libfastcommon-1.0.7
3、编译
./make.sh
./make.sh install
二、配置 FastDFS
1、下载 FastDFS
wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz
2、解压,进入目录
tar -zxvf V5.05.tar.gz
cd fastdfs-5.05
3、编译
./make.sh
./make.sh install
4、设置软连接
ln -s /usr/bin/fdfs_trackerd /usr/local/bin
ln -s /usr/bin/fdfs_storaged /usr/local/bin
ln -s /usr/bin/stop.sh /usr/local/bin
ln -s /usr/bin/restart.sh /usr/local/bin
三、配置 FastDFS 跟踪器(tracker)
1、拷贝文件
cd /etc/fdfs
cp tracker.conf.sample tracker.conf
2、编辑文件
vim tracker.conf
# Tracker 数据和日志目录地址 base_path=/home/fastdfs/tracker # HTTP 服务端口 http.server_port=80
3、创建对应目录
mkdir -p /home/fastfds/tracker
4、设置软连接
ln -s /usr/bin/fdfs_trackerd /usr/local/bin
ln -s /usr/bin/fdfs_storaged /usr/local/bin
ln -s /usr/bin/stop.sh /usr/local/bin
ln -s /usr/bin/restart.sh /usr/local/bin
5、启动tracker
service fdfs_trackerd start
6、设置开机启动
chkconfig —add fdfs_trackerd
四、配置 FastDFS 存储(storage)
1、拷贝文件
cd /etc/fdfs
cp storage.conf.sample storage.conf
2、编辑文件
vim storage.conf
# Tracker 数据和日志目录地址、 base_path=/home/fastfds/storage store_path0=/home/fastfds/storage # 有多个 tracker server 时,每个 tracker server 写一行 tracker_server=你的ip:22122 # HTTP 服务端口 http.server_port=80
3、创建对应的目录
mkdir -p /home/fastfds/storage
4、启动服务
service fdfs_storaged start
5、设置开机启动
chkconfig —add fdfs_storaged
6、验证Storage和Tracker是否在通信:
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
如果出现 ACTIVE 字段,表示通信成功
五、文件上传测试
1、修改 Tracker 服务器中的客户端配置文件
cd /etc/fdfs
cp client.conf.sample client.conf
2、修改配置文件
vim client.conf
# Client 的数据和日志目 base_path=/home/fastfds/tracker # Tracker端口 tracker_server=你的ip:22122
3、上传文件
wget 随便一张图片的链接
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf 图片的路径
返回的字段如果是: group1/M00/00/00 开头的表示上传成功
六、安装Nginx
详情看 《安装nginx》
七、文件下载测试
1、编辑 nginx 配置文件
vim /usr/local/nginx/conf/nginx.conf
添加代码:
location /group1/M00 {
alias /home/tiantian/fastdfs/data;
}
2、重启nginx
/usr/local/nginx/sbin/nginx -s reload
3、测试访问
wget http://127.0.0.1/刚才上传成功的返回值
八、 FastDFS 配置 Nginx 模块
1、fastdfs-nginx-module 模块说明
FastDFS 通过 Tracker 服务器,将文件放在 Storage 服务器存储, 但是同组存储服务器之间需要进行文件复制, 有同步延迟的问题。
假设 Tracker 服务器将文件上传到了 192.168.51.128,上传成功后文件 ID已经返回给客户端。
此时 FastDFS 存储集群机制会将这个文件同步到同组存储 192.168.51.129,在文件还没有复制完成的情况下,客户端如果用这个文件 ID 在 192.168.51.129 上取文
件,就会出现文件无法访问的错误。
而 fastdfs-nginx-module 可以重定向文件链接到源服务器取文件,避免客户端由于复制延迟导致的文件无法访问错误。
2、下载 fastdfs-nginx-module
wget https://github.com/happyfish100/fastdfs-nginx-module/archive/5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip
3、解压,重命名
解压
unzip 5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip
可能需要安装解压工具: yum install zip unzip
重命名
mv fastdfs-nginx-module-5e5f3566bbfa57418b5506aaefbe107a42c9fcb1 fastdfs-nginx-module-master
4、配置nginx
首先停掉 nginx 服务
/usr/local/nginx/sbin/nginx -s stop
进入解压包目录
cd /etc/fdfs/nginx-1.12.1
重新配置 nginx
./configure --add-module=/home/fastfds_nginx/fastdfs-nginx-module-master/src
重新编译、安装
make && make install
5、查看 nginx 模块
/usr/local/nginx/sbin/nginx -V
出现以下字样,成功
6、复制 fastdfs-nginx-module 源码中的配置文件到/etc/fdfs 目录
cp /home/fastfds_nginx/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/
7、编辑
cd /etc/fdfs/
vim mod_fastdfs.conf
更新代码如下:
# 连接超时时间 connect_timeout=10 # Tracker Server tracker_server=127.0.0.1:22122 # StorageServer 默认端口 storage_server_port=23000 # 如果文件ID的uri中包含/group**,则要设置为true url_have_group_name = true # Storage 配置的store_path0路径,必须和storage.conf中的一致 store_path0=/home/fastfds/storage
8、配置部分文件
cd /opt/fastdfs/conf
cp anti-steal.jpg http.conf mime.types /etc/fdfs/
9、配置nginx,修改nginx.conf
vim /usr/local/nginx/conf/nginx.conf
location ~/group([0-9])/M00 {
ngx_fastdfs_module;
}
把原来配置的注释掉,换成上面的代码即可
10、启动nginx
/usr/local/nginx/sbin/nginx
11、下载
wget http://127.0.0.1/你上传文件返回的值
下载成功了,即表示配置成功