rfcv 发表于 2015-9-10 09:23:33

Suse 11 Linux下安装fastdfs

Suse 11 Linux下安装fastdfs
  相关的所有软件已上传至我的个人网盘,请根据需求下载
  http://pan.baidu.com/s/1eQzP090

相关软件:
  libevent-2.0.20-stable.tar.gz
  pcre-8.35.zip
  zlib-1.2.8.tar.gz
  openssl-1.0.0e.tar.gz
  Fastdfs v4.06
  nginx-1.7.2.tar.gz
  Fastdfs-nginx-module 1.15

Fastdfs介绍:
  FastDFS是一个开源的分布式文件系统,对文件进行管理功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
  FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。
  存储节点存储文件,完成文件管理的所有功能:存储、同步和提供存取接口,FastDFS同时对文件的meta data进行管理。所谓文件的meta data就是文件的相关属性,以键值对(key value pair)方式表示,如:width=1024,其中的key为width,value为1024。文件meta data是文件属性列表,可以包含多个键值对。

FastDFS下载文件交互过程:
  1. client询问tracker下载文件的storage,参数为文件标识(卷名和文件名);
  2. tracker返回一台可用的storage;
  3. client直接和storage通讯完成文件下载。

安装软件


[*]安装 libevent,事先使用ssh工具把软件包放到data/soft目录中,按照如下执行命令


mkdir -p data/soft
cd /data/soft
tar –zxvf libevent-2.0.20-stable.tar.gz
cd libevent-2.0.20-stable
.configure   #编译前检查,如缺少相关liberary,通过suse软件中心搜索下载
make       #编译
make install#安装
  

  以下是为 libevent 创建软链接到/lib 库下,64 位系统对应/lib64



ln -s /usr/local/lib/libevent* /lib/
ln -s /usr/local/lib/libevent* /lib64/
  


[*]为 trackerd 节点安装 FastDFS,并修改配置文件/etc/fdfs/tracker.conf( 如果 trackerd 需要使用内置的 web server,需要修改make文件,启用 WITH_HTTPD=1 再编译),这个fastdfs版本应该是3.2中有,4.0.6此版本中没有此相关配置,在这里web server用nginx替代。此处也是事先把安装包放到data/soft目录下了


cd /data/soft
tar zvxf FastDFS_v4.06.tar.gz
cd FastDFS
sed -i 's/#WITH_HTTPD=1/WITH_HTTPD=1/g;s/#WITH_LINUX_SERVICE=1/WITH_LINUX_SERVICE=1/g' make.sh
./make.sh
./make.sh install
  
  3.创建存储目录



mkdir /data/fastdfs
  4.配置tracker_server:



vi /etc/fdfs/tracker.conf
  设置base_path



base_path=/data/fastdfs;
  启动tracker_server



/usr/local/bin/fdfs_trackerd/etc/fdfs/tracker.conf
  查看日志对应data/fastdfs/log/trackerd.log,出现如下情况,没有error则恭喜说明安装成功。

  
  5.配置storage_server
  如果指定另外一台作为storage_server则需要创建存储目录



mkdir /data/fastdfs
  配置storage_server



vi /etc/fdfs/storage.conf
  
  设置base_path



base_path=/data/fastdfs;
store_path0=/data/fastdfs;
tracker_server=192.168.1.60:22122 #改为对应ip
tracker_server=192.168.1.112:22122 #(可以指定多个tracker_server,换行写即可)
  
  启动storage_server



/usr/local/bin/fdfs_storaged/etc/fdfs/storage.conf
  注:如果 storage server有多个ip,可以用bind_addr来指定某个特定ip,bind_addr地址会提交给tracker_server
  6.将tracker,storage作为启动服务
  是不是觉得启动很不方便呢?以下教大家简便的启动方法。
  Tracker Server作为系统服务
  这里可以将安装包里面提供的/init.d/的fdfs_trackerd拷贝到/etc/init.d里面,后面就可以用service fdfs_trackerd start/stop/restart/status这种方式来管理服务了。



cddata/fastdfs/init.d/
cp fdfs_trackerd /etc/init.d
service fdfs_trackerd start
  Storage Server作为系统服务
  这里可以将安装包里面提供的/init.d/的fdfs_storaged拷贝到/etc/init.d里面,后面就可以用service fdfs_storaged start/stop/restart/status这种方式来管理服务了。



cddata/fastdfs/init.d/
cp fdfs_storaged /etc/init.d
service fdfs_ storaged start
  第一次启动的时候会去上面配置文件指定的path里面创建目录,耐心等待一下。
  检查一下两台/data/fastdfs/log 日志看看是否有异常,正常情况日志里面都会写,和 tracker以及 storage 的通讯。
  7.client.conf 上传配置文件修改



vim /etc/fdfs/client.conf
base_path=/data/fastdfs
tracker_server=192.168.1.60:22122 #(tracker ip1)
tracker_server=192.168.1.112:22122 # (tracker ip2)
  
  8.测试上传文件(请先进入到需要上传文件对应的目录)



cd/etc/fdfs/
fdfs_upload_file/etc/fdfs/client.confclient.conf#fdfs_upload_filefdfs客户端配置文件 需要上传的文件
  运行完后会得到返回:
  group1/M00/00/00/wKgBVFBS9Sihy2tBAAACprSFlH476.conf
  现在可以去看一下两台 Storage Server 是否存在这个文件,在 storage 的数据目录下的/00/00目录下即可看到该文件:
  /data/fastdfs/data/00/00/wKgBVFBS9Sihy2tBAAACprSFlH476.conf
  9.删除文件



fdfs_delete_file/etc/fdfs/client.conf group1/M00/00/00/CgEUylA_dZvx9_4TAAAElz19TBw949.cfg
10. 如果需要通过http获得文件则需要安装webserver,此处安装的为nginx,安装nginx需要依赖如下三个包(zlib 库,pcre库,openssl ) 包安装顺序依次为:openssl、zlib、pcre
安装openssl-1.0.0e.tar.gz



cd /data/soft/
tar -zxvf openssl-1.0.0e.tar.gz
cd /openssl-1.0.0e
./config
make
make install
  
安装zlib-1.2.8.tar.gz



cd data/soft/
tar -zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make
make install
  
安装pcre-8.21.tar.gz



cd data/soft
tar -zxvf pcre-8.21.tar.gz
cd pcre-8.21
./configure
make
make install
  
  11.安装fast_nginx_module插件模块
  说明:在每台 storage server 上部署 web server,直接对外提供 HTTP 服务,tracker server 上需要部署 web server,如果请求文件在当前 storage 上不存在,通过文件 ID 反解出源 storage,直接请求源 storage,FastDFS 扩展模块不依赖于 FastDFS server,可以独立存在。



cd /data/soft
tar zxvf fastdfs-nginx-module_v1.11.tar.gz
cd fast-nginx-module
.configure
make
make install
  
  12.安装nginx



cd /data/soft
tar zxvf nginx-1.7.2.tar.gz
cd nginx-1.7.2
./configure --prefix=/usr/local/nginx --add-module=/data/soft/fastdfs-nginx-module/src --with-http_stub_status_module --with-http_ssl_module --with_openssl =/data/soft/openssl-1.0.0e
make
make install
  
  13.配置nginx



vi /usr/local/nginx/conf/nginx.conf
  添加代码:



location /M00 {
root /home/fastdfs/data;
ngx_fastdfs_module;
expires 1d;
}
  
  启动nginx:



/usr/local/nginx/sbin/nginx
  14.mod_fastdfs 模块设置



cp /data/soft/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
vim /etc/fdfs/mod_fastdfs.conf
  设置base_path:



base_path=/data/fastdfs
tracker_server=192.168.1.60:22122
tracker_server=192.168.1.112:22122
store_path0=/data/fastdfs
response_mode=proxy
url_have_group_name = true
log_filename=/data/soft/fastdfs.log
  
  15.重启nginx,通过浏览器访问上传的文件:



/usr/local/nginx/sbin/nginx
  
  http://192.168.1.84/ group1/M00/00/00/wKgBVFBS9Sihy2tBAAACprSFlH476.conf
  分别都可以得到该文件,如果是txt文件在浏览器中就可以直接显示。
  (本人亲测可用,按照上面步骤一步步实施即可,原创作品转载请注明出处!)
页: [1]
查看完整版本: Suse 11 Linux下安装fastdfs