centos7下的FastDFS5.09的安装与使用
|
FastDFS是一款开源的轻量级分布式文件系统,纯C实现,支持Linux、FreeBSD等Unix系统。 类google FS,不是通用的文件系统,只能通过专有API访问。 FastDFS服务端有两种角色:跟踪器(tracker)和存储节点(storage)。 tracker主要做调度工作,在访问上起负载均衡的作用,在内存中记录集群中group和storage的状态信息,是连接client和storage的枢纽。 storage存储服务器,文件和文件属性都保存到存储服务器上。 一、安装fastdfs 下载libfastcommon包 https://github.com/happyfish100/libfastcommon/releases 下载fastdfs源码包 https://github.com/happyfish100/fastdfs/releases 安装libfastcommon > tar xf libfastcommon-1.0.7.tar.gz > cd libfastcommon-1.0.7 > ./make.sh > ./make.sh install 安装fastdfs > tar xf fastdfs-5.09.tar.gz > cd fastdfs-5.09 > ./make.sh > ./make.sh install 如果出现ioevent.h:82:2: #error port me这样的错误,请下载最新版的libfastcommon并安装。 二、环境说明 创建两台虚拟主机,IP分别为192.168.1.222和192.168.1.233,分别安装fastdfs。 三、fastdfs的配置文件 配置文件默认在/etc/fdfs下 创建两个目录,用来存放数据 > mkdir -p /data/fdfs_tracker > mkdir -p /data/fdfs_storage 复制配置文件 > cd /etc/fdfs > cp storage.conf.sample storage.conf > cp tracker.conf.sample tracker.conf 跟踪器的配置文件tracker.conf #绑定IP bind_addr= #端口 port=22122 #连接超时时间 connect_timeout=30 #日志数据路径 base_path=/data/fdfs_tracker #上传文件时选择group的方法 #0:轮询,1:指定组,2:选择剩余空间最大 store_lookup=2 #如果上面的配置是1,那么这里必须指定组名 store_group=group2 #上传文件时选择server的方法 #0:轮询,1:按IP地址排序,2:通过权重排序 store_server=0 #storage上预留空间 reserved_storage_space = 10% 存储节点的配置文件storage.conf #storage server所属组名 group_name=group1 #绑定IP bind_addr= #storage server的端口 port=23000 #连接超时时间 connect_timeout=30 #日志数据路径 base_path=/data/fdfs_storage/base #storage path的个数 store_path_count=2 #根据store_path_count的值,就要有storage0到storage(N-1)个 store_path0=/data/fdfs_storage/storage0 store_path1=/data/fdfs_storage/storage1 #跟踪服务器 tracker_server=192.168.1.222:22122 tracker_server=192.168.1.233:22122 创建目录,不然会出错 > mkdir -p /data/fdfs_storage/base > mkdir -p /data/fdfs_storage/storage0 > mkdir -p /data/fdfs_storage/storage1 启动服务 > /etc/init.d/fdfs_trackerd start > /etc/init.d/fdfs_storaged start 查看服务是否启动 > ps -ef|grep fdfs > netstat -nltp
四、测试fastdfs 配置client文件 > cd /etc/fdfs > cp client.conf.sample client.conf > vi client.conf #存放日志目录 base_path=/data/client #跟踪服务器 tracker_server=192.168.1.222:22122 tracker_server=192.168.1.233:22122 创建client目录 > mkdir -p /data/client 通过fdfs_upload_file来测试(如果发生错误,请查看防火墙) > echo "12345678" >> /data/1.txt > fdfs_upload_file /etc/fdfs/client.conf /data/1.txt 通过fdfs_download_file下载我们刚上传的文件 > fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/wKgB3li3a2mAejYPAAAADok0NhY177.txt 查看文件信息 > fdfs_file_info /etc/fdfs/client.conf group1/M00/00/00/wKgB3li3a2mAejYPAAAADok0NhY177.txt 追加文件 > echo "hello" >> /data/2.txt > fdfs_upload_appender /etc/fdfs/client.conf /data/1.txt > fdfs_append_file /etc/fdfs/client.conf group1/M00/00/00/wKgB3li3bxCEAcqhAAAAAIk0NhY869.txt /data/2.txt 删除文件 > fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKgB3li3a2mAejYPAAAADok0NhY177.txt 查看集群 > fdfs_monitor /etc/fdfs/client.conf
五、fastdfs的nginx模块 下载pcre和nginx源码包 https://ftp.pcre.org/pub/pcre/ 如:pcre-8.40.tar.gz http://nginx.org/en/download.html 如:nginx-1.10.3.tar.gz https://github.com/happyfish100/fastdfs-nginx-module 如:fastdfs-nginx-module-master.zip 创建用户 > useradd -s /sbin/nologin -M nginx 安装pcre > tar xf pcre-8.40.tar.gz > cd pcre-8.40 > ./configure --prefix=/data/pcre > make && make install 安装nginx > yum install zlib-devel openssl-devel > unzip fastdfs-nginx-module-master.zip > tar xf nginx-1.10.3.tar.gz > cd nginx-1.10.3 > ./configure --prefix=/data/nginx > --with-pcre=/data/pcre-8.40 > --user=nginx > --group=nginx > --with-http_ssl_module > --with-http_realip_module > --with-http_stub_status_module > --add-module=/data/fastdfs-nginx-module-master/src > make && make install 拷贝配置文件 > cd /data/fastdfs-nginx-module-master/src > cp mod_fastdfs.conf /etc/fdfs/ > cd /data/fastdfs-5.09/conf > cp anti-steal.jpg http.conf mime.types /etc/fdfs/ 修改nginx.conf > vi /data/nginx/conf/nginx.conf server {
listen 80;
server_name localhost;
location ~ /group[0-9]/M00 {
ngx_fastdfs_module;
}
}
修改mod_fastdfs.conf > vi /etc/fdfs/mod_fastdfs.conf #日志目录 base_path=/tmp #跟踪服务器 tracker_server=192.168.1.222:22122 tracker_server=192.168.1.233:22122 #url中是否有group名称 url_have_group_name = true #storage path的个数 store_path_count=2 #根据store_path_count的值,就要有storage0到storage(N-1)个 store_path0=/data/fdfs_storage/storage0 store_path1=/data/fdfs_storage/storage1 启动nginx > /data/nginx/sbin/nginx 上传一个文件 > echo "12345678" >> /data/1.txt > fdfs_upload_file /etc/fdfs/client.conf /data/1.txt 然后通过nginx访问该文件 http://192.168.1.222/group1/M00/00/00/wKgB6Vi3fGiAMsO2AAAAB2BGSN8003.txt (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
