fastdfs图片服务器的搭建

什么是 FastDFS

FastDFS 是用 c 语言编写的一款开源的分布式文件系统。FastDFS 为互联网量身定制,充分

考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用 FastDFS

很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。


文件上传流程


上传文件的文件名

客户端上传文件后存储服务器将文件 ID 返回给客户端,此文件 ID 用于以后访问该文件的索引信息。

文件索引信息包括:组名,虚拟磁盘路径,数据两级目录,文件名。

group1/M00/00/00/wKgEfVUYNYeAb7XFAAVFOL7FJU4.tar.gz

组名:文件上传后所在的 storage 组名称,在文件上传成功后有 storage 服务器返回,需

要客户端自行保存。

 虚拟磁盘路径:storage 配置的虚拟路径,与磁盘选项 store_path*对应。如果配置了

store_path0 则是 M00,如果配置了 store_path1 则是 M01,以此类推。

数据两级目录:storage 服务器在每个虚拟磁盘路径下创建的两级目录,用于存储数据

文件。

文件名:与文件上传时不同。是由存储服务器根据特定信息生成,文件名包含:源存储服务

器 IP 地址、文件创建时间戳、文件大小、随机数和文件拓展名等信息。


FastDFS 搭建


可以使用一台虚拟机来模拟,只有一个 Tracker、一个 Storage 服务。

配置 nginx 访问图片。

需要的包

FastDFS_v5.05.tar.gz

fastdfs-nginx-module_v1.16.tar.gz

nginx-1.6.2.tar.gz

libfastcommon-master.zip


第一步:把 fastDFS 都上传到 linux 系统。

第二步:安装 FastDFS 之前,先安装 libevent 工具包。

第三步:安装 libfastcommonV1.0.7 工具包。

1、解压缩,进入刚解压的目录

2、./make.sh

3、./make.sh install

libfastcommon 默认安装到了 
/usr/lib64/libfastcommon.so 
/usr/lib64/libfdfsclient.so 

4、把/usr/lib64/libfastcommon.so 文件向/usr/lib/下复制一份

第四步:安1、解压缩
2、./make.sh
3、./make.sh install
4、把/usr/lib64/libfastcommon.so 文件向/usr/lib/下复制一份
第四步:安装 Tracker 服务。
1、解压缩:tar -zxvf FastDFS_v5.05.tar.gz
2、./make.sh
3、./make.sh install
安装后在/usr/bin/目录下有以 fdfs 开头的文件都是编译出来的。
配置文件都放到/etc/fdfs 文件夹
4、把/root/FastDFS/conf 目录下的所有的配置文件都复制到/etc/fdfs 下。

cp /root/FastDFS/conf/* /etc/fdfs
5、配置 tracker 服务。修改/etc/fdfs/tracker.conf 文件。装 Tracker 服务。

vi /etc/fdfs/tracker.conf


base_path=/home/fastdfs/tracker

6、启动 tracker。/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

重启使用命令:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

tracker和stroage不同服务器

要打开跟踪器端口(默认为 22122):
# vi /etc/sysconfig/iptables
添加如下端口行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22122 -j ACCEPT
重启防火墙:
# service iptables restart


第五步:安装 storage 服务。

1、如果是在不同的服务器安装,第四步的 1~4 需要重新执行。

2、配置 storage 服务。修改/etc/fdfs/conf/storage.conf 文件


base_path=/home/fastdfs/storage

store_path0=/home/fastdfs/storage

配置web server访问端口

# the port of the web server on this storage server
http.server_port=8080

3、启动 storage 服务。
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
第六步:测试服务。
1、修改配置文件/etc/fdfs/client.conf



2、测试
/usr/bin/fdfs_test /etc/fdfs/client.conf upload anti-steal.jpg

http://192.168.25.133:8888/group1/M00/00/00/wKgBZ1dN5vyAQ_zDAABdrZgsqUU070_big.jpg


第七步:搭建 nginx 提供 http 服务。
可以使用官方提供的 nginx 插件。要使用 nginx 插件需要重新编译。
fastdfs-nginx-module_v1.16.tar.gz
1、解压插件压缩包:tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
2、修改/root/fastdfs-nginx-module/src/config 文件,把其中的 local 去掉。

vi /root/fastdfs-nginx-module/src/config 


3编译安装 Nginx

解压nginx:tar -zxvf nginx-1.6.2.tar.gz

进入cd nginx-1.6.2

./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \

--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--add-module=/root/fastdfs-nginx-module/src

#make && make install

4.把/root/fastdfs-nginx-module/src/mod_fastdfs.conf 文件复制到/etc/fdfs 目录下。编辑:

vi /etc/fdfs/mod_fastdfs.conf 

修改以下配置:
connect_timeout=10
base_path=/tmp
tracker_server=192.168.25.133:22122
storage_server_port=23000
group_name=group1
url_have_group_name = true
store_path0=/fastdfs/storage

5.配置 Nginx
简洁版 nginx 配置样例:

#vi /usr/local/nginx/conf/nginx.conf

user root;
worker_processes 1;
events {
 worker_connections 1024;
}
http {
 include mime.types;
 default_type application/octet-stream;
 sendfile on;
 keepalive_timeout 65;
 server {
 listen 8888;
 server_name localhost;
 location ~/group([0-9])/M00 {
 #alias /fastdfs/storage/data;
 ngx_fastdfs_module;
 }
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
 root html;
 }
 }
}
注意、说明:

A、8888 端口值是要与/etc/fdfs/storage.conf 中的 http.server_port=8888 相对应,
因为 http.server_port 默认为 8888,如果想改成 80,则要对应修改过来。
B、Storage 对应有多个 group 的情况下,访问路径带 group 名,如/group1/M00/00/00/xxx,
对应的 Nginx 配置为:
location ~/group([0-9])/M00 {
ngx_fastdfs_module;
}
C、如查下载时如发现老报 404,将 nginx.conf 第一行 user nobody 修改为 user root 后重新启动。
6、将 libfdfsclient.so 拷贝至/usr/lib 下
cp /usr/lib64/libfdfsclient.so /usr/lib/

7、防火墙中打开 Nginx 的 8888 端口
# vi /etc/sysconfig/iptables
添加:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8888 -j ACCEPT
# service iptables restart
8、启动 Nginx
# /usr/local/nginx/sbin/nginx
ngx_http_fastdfs_set pid=xxx
(重启 Nginx 的命令为:/usr/local/nginx/sbin/nginx -s reload)
14、通过浏览器访问测试时上传的文件
http://192.168.25.133:8888/group1/M00/00/00/wKgBZ1dN5vyAQ_zDAABdrZgsqUU070_big.jpg




  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
在 CentOS 7 上搭建 FastDFS 文件服务器的步骤如下: 1. 安装必要的依赖库: ``` yum install -y gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl openssl-devel wget ``` 2. 下载 FastDFS 源码: ``` wget https://github.com/happyfish100/fastdfs/archive/V6.06.tar.gz ``` 3. 解压源码并编译安装: ``` tar zxvf V6.06.tar.gz cd fastdfs-6.06/ ./make.sh ./make.sh install ``` 4. 配置 Tracker 服务器: 在 Tracker 服务器上创建一个 tracker.conf 配置文件,并添加以下内容: ``` # 配置 Tracker 服务器的 IP 和端口号 port=22122 bind_addr=192.168.0.1 # 配置存储服务器的组名和存储服务器的 IP 和端口号 group_name=group1 group_count=1 group0_ip=192.168.0.2 group0_port=23000 # 配置日志文件的路径和级别 log_level=info log_filename=/var/log/fdfs/trackerd.log ``` 5. 启动 Tracker 服务器: ``` /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart ``` 6. 配置 Storage 服务器: 在 Storage 服务器上创建一个 storage.conf 配置文件,并添加以下内容: ``` # 配置 Tracker 服务器的 IP 和端口号 tracker_server=192.168.0.1:22122 # 配置存储服务器的 IP 和端口号 port=23000 bind_addr=192.168.0.2 # 配置存储服务器的组名和容量 group_name=group1 store_path_count=1 store_path0=/data/fastdfs/storage # 配置心跳时间和同步文件的时间 heart_beat_interval=30 sync_wait_msec=600 # 配置日志文件的路径和级别 log_level=info log_filename=/var/log/fdfs/storaged.log ``` 7. 启动 Storage 服务器: ``` /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart ``` 8. 测试上传和下载文件: 在客户端机器上安装 FastDFS 客户端工具: ``` yum install -y libfastcommon wget https://github.com/happyfish100/fastdfs/archive/V6.06.tar.gz tar zxvf V6.06.tar.gz cd fastdfs-6.06/ ./make.sh ./make.sh install ``` 上传文件: ``` /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /path/to/local/file ``` 下载文件: ``` /usr/bin/fdfs_download_file /etc/fdfs/client.conf group1 M00/00/00/xxx /path/to/local/file ``` 以上就是在 CentOS 7 上搭建 FastDFS 文件服务器的步骤。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值