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]