博主本人平和谦逊,热爱学习,读者阅读过程中发现错误的地方,请帮忙指出,感激不尽


服务器信息:

Storage:192.168.247.20

Traker:192.168.247.21

一、搭建环境准备:

1.1 yum检查安装

yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget

1.2 非yum安装:

 Fastdfs:
https://github.com/happyfish100
 NGINX:
http://nginx.org/download/
 zib:
http://www.zlib.net/
 pcre-devel:
https://centos.pkgs.org/6/centos-x86_64/pcre-devel-7.8-7.el6.x86_64.rpm.html
 pcre rpm:
http://mirrors.163.com/centos/6/os/x86_64/Packages/pcre-7.8-7.el6.x86_64.rpm

1.3 环境准备注意事项:

1.3.1注意1
pcre和pcre-devel版本必须保持一致
检查版本命令:
[root@localhost /]# rpm -qa pcre
pcre-.el6.i686
安装pcre
rpm -ivh pcre-.el6.x86_64.rpm
 注意2
添加Zlib安装指向必须是软件包解压的位置而不是编译安装的目录
例如:with-zlib=/usr/local/src/zlib-

二、traker安装部署(192.168.247.21)

2.1 安装libfastcommon

 解压与查看
unzip libfastcommon-master.zip
cd libfastcommon-master
ll

 编译安装
./make.sh
./make.sh install
 创建软连接
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

2.2 FastDFS安装(traker)

 解压与编译安装
unzip fastdfs-5.11.zip
cd fastdfs-5.11
./make.sh
./make.sh install
查看fdfs是否存在以下文件:
[root@localhost tansk]# cd /etc/fdfs/
[root@localhost fdfs]# ll
-rw-r--r--  root root   Jun   : client.conf.sample
-rw-r--r--  root root   Jun   : storage.conf.sample
-rw-r--r--  root root   Jun   : tracker.conf.sample
 在/etc/fdfs/目录下复制配置文件
执行命令:
cp client.conf.sample client.conf
cp storage.conf.sample storage.conf
cp tracker.conf.sample tracker.conf
chmod  *
或是:
cat client.conf.sample | grep -v '^#'>client.conf
cat tracker.conf.sample |grep -v '^#'>tracker.conf
cat storage.conf.sample | grep -v '^#'>storage.conf
 traker安装与配置
创建目录如下:
/usr/tansk/dev/fastdfs/fastdfs_tracker  #这个是我在192.168.247.21最终创建的目录
 mkdir /usr/tansk/dev/fastdfs/fastdfs_tracker -p 
 配置tracker
cd /etc/fdfs
vi tracker.conf
修改以下四个地方:
.disabled=false #默认开启
.port= #默认端口号 .base_path=/usr/tansk/dev/fastdfs/fastdfs_tracker #刚刚创建的目录 .http.server_port= #默认端口是8080
 启动与验证traker
启动命令:service fdfs_trackerd start
成功之后可以看见:
[root@localhost fdfs]# service fdfs_trackerd startStarting fdfs_trackerd (via systemctl):                    [  OK  ]
如果不能成功启动,可以通systemctl命令:systemctl start fdfs_trackerd

验证traker:
启动后发现目录多了data和log两个目录
[root@localhost fdfs]# cd /usr/tansk/dev/fastdfs/fastdfs_tracker/
[root@localhost fastdfs_tracker]# ll
total
drwxr-xr-x  root root  Jun  : data
drwxr-xr-x  root root   Jun  : logs
查看tracker端口监听情况:
[root@localhost fastdfs_tracker]# netstat -unltp|grep fdfs
tcp                /fdfs_trackerd
到此22122端口监听成功。

2.3 添加traker开机启动

 添加可执行权限:
chmod +x /etc/rc.d/rc.local
 添加开机启动
vim /etc/rc.d/rc.local
在最后添加:
touch /var/lock/subsys/local
service fdfs_trackerd start
保存退出即可
或是:
[root@traker ~]# /sbin/chkconfig fdfs_trackerd on

三、storage安装部署(192.168.247.20

3.1 安装libfastcommon

(参考上文)

3.2 FastDFS安装(storage)

 解压与编译安装
unzip fastdfs-5.11.zip
cd fastdfs-5.11
./make.sh
./make.sh install
查看fdfs是否存在以下文件:
[root@localhost tansk]# cd /etc/fdfs/
[root@localhost fdfs]# ll
-rw-r--r--  root root   Jun   : client.conf.sample
-rw-r--r--  root root   Jun   : storage.conf.sample
-rw-r--r--  root root   Jun   : tracker.conf.sample
 在/etc/fdfs/目录下复制配置文件
执行命令:
cp client.conf.sample client.conf
cp storage.conf.sample storage.conf
cp tracker.conf.sample tracker.conf
chmod  *
或是:
cat client.conf.sample | grep -v '^#'>client.conf
cat tracker.conf.sample |grep -v '^#'>tracker.conf
cat storage.conf.sample | grep -v '^#'>storage.conf
 storage安装与配置
创建目录如下:
#这个是我在192.168.247.20最终创建的目录
mkdir /usr/tansk/dev/fastdfs/fastdfs_storage -p  (新增-ln)
mkdir /usr/tansk/dev/fastdfs/fastdfs_storage_data -p
mkdir /usr/tansk/dev/fastdfs/fastdfs_tracker -p 
 修改storage配置文件
vi /etc/fdfs/storage.conf
找到如下8个地方修改即可
.disabled=false
.group_name=group1 #组名,根据实际情况修改
.port=  #设置storage的端口号,默认是23000,同一个组的storage端口号必须一致
.base_path=/usr/tansk/dev/fastdfs/fastdfs_storage  #设置storage数据文件和日志目录
.store_path_count= #存储路径个数,需要和store_path个数匹配 .store_path0=/usr/tansk/dev/fastdfs/fastdfs_storage_data #实际文件存储路径
.tracker_server= #我traker的ip地址与服务端口 .http.server_port= #设置 http 端口号,与traker的端口号相同
保存之后 创建软引用
ln -s /usr/bin/fdfs_storaged /usr/local/bin
 启动storage
service fdfs_storaged start
成功应该是如下
[root@localhost fdfs]# service fdfs_stroaged startStarting fdfs_storaged (via systemctl):                    [  OK  ]
同理 如果不能启动可以用下述命令
systemctl start fdfs_storaged

3.3 设置开机启动

 添加可执行权限:
chmod +x /etc/rc.d/rc.local
 添加开机启动
vim /etc/rc.d/rc.local
在最后添加:
touch /var/lock/subsys/local
service fdfs_storaged start
保存退出即可
或是:
/sbin/chkconfig fdfs_storaged on

查看服务是否启动
[root@localhost fastdfs]# netstat -unltp | grep fdfs
tcp                          /fdfs_storaged

3.4 检查storage是否注册到了tracker中去。

执行以下命令:
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
成功后可以看到: 
ip_addr = 192.168.247.20 (localhost.localdomain) ACTIVE 的字样

四、客户端配置(在storage服务器上

4.1 修改客户端配置

vim /etc/fdfs/client.conf
.base_path=/usr/tansk/dev/fastdfs/fastdfs_tracker #tracker服务器文件路径
.tracker_server= #tracker服务器IP地址和端口号
.http.tracker_server_port= # tracker 服务器的 http端口号,必须和tracker的设置对应起来

4.2 上传图片测试验证

/usr/bin/fdfs_upload_file  /etc/fdfs/client.conf  /root/测试.jpg
#你上传的图片路径(linux上的)
成功之后会返回图片的路径
group1/M00///wKiWhFrdeCeAC_vCAABqgowGIFg399.jpg
进入上传的路径查看是否上传成功
find  /  -name  wKiWhFrdeCeAC_vCAABqgowGIFg399.jpg  (新增-ln)
cd /usr/tansk/dev/fastdfs/fastdfs_storage_data/data/M00//
[root@localhost ]# ls
wKiWhFrdeCeAC_vCAABqgowGIFg399.jpg

五、NGINX安装配置(在storage服务器)

5.1 fastdfs-nginx-module安装与配置

 创建这个目录:
 /usr/tansk/dev/nginx /
 上传fastdfs-nginx-module模块
将fastdfs-nginx-module上传至该目录下

/usr/tansk/dev/nginx /
 解压fastdfs-nginx-module unzip fastdfs-nginx-module.zip
 打印目录
进入src,打印目录(在后面用到)
/usr/tansk/dev/nginx/fastdfs-nginx-module/src

5.2 NGINX安装与配置

 解压
tar -zxvf nginx-.tar.gz
 编译安装
依次执行以下命令:
./configure --prefix=/usr/local/nginx --add-module=/usr/tansk/dev/nginx/fastdfs-nginx-module/src
make
make install

5.3 配置storage nginx

进入配置文件目录:
cd  /usr/local/nginx/conf
修改配置文件(绿色为修改的内容,如有不明白,可登录150.142查看):
user root;     #(补充-ln:如果要设置nginx worker process 所属用户、群组,可以在./configure user=nginx --group=nginx 指定配置;或者在nginx.conf中指定,例如:user  nginx  ngxin【前提是先创建好用户useradd -M -s /sbin/nologin nginx】)
worker_processes  ;
error_log  logs/error.log;
events {
    worker_connections  ;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    server {
        listen       ;
        server_name  tansk.com;
        location /{
            root   html;
            index  index.html index.htm;
        }
        location ~/group([-])/M00 {
            ngx_fastdfs_module;
        }
        error_page        /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

5.4 修改模块配置,使其生效

 复制FastDFS配置文件
然后进入FastDFS安装时的解压过的目录,将http.conf和mime.types拷贝到/etc/fdfs目录下:
[root@ZL-FSL-FTP-AP conf]# cd /usr/local/fastdfs/fastdfs-5.11/conf
[root@ZL-FSL-FTP-AP conf]# ls
anti-steal.jpg  http.conf   storage.conf      tracker.conf
client.conf     mime.types  storage_ids.conf
[root@ZL-FSL-FTP-AP conf]#
cp http.conf /etc/fdfs/
cp mime.types /etc/fdfs/
 复制模块配置文件
另外还需要把fastdfs-nginx-module安装目录中src目录下的mod_fastdfs.conf也拷贝到/etc/fdfs目录下:
cp /usr/tansk/dev/nginx/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
对刚刚拷贝的mod_fastdfs.conf文件进行修改:
cd /etc/fdfs/
chmod  *
vim /etc/fdfs/mod_fastdfs.conf
.base_path=/usr/tansk/dev/fastdfs/fastdfs_storage  #保存日志目录
.tracker_server= #tracker服务器的IP地址以及端口号
.storage_server_port= #storage服务器的端口号
.url_have_group_name = true #文件 url 中是否有 group 名
.store_path0=/usr/tansk/dev/fastdfs/fastdfs_storage_data  #存储路径
.group_count =  #设置组的个数
.在文件的最后,设置group
[group1]
group_name=group1
storage_server_port=
store_path_count=
store_path0=/usr/tansk/dev/fastdfs/fastdfs_storage_data
store_path1=/usr/tansk/dev/fastdfs/fastdfs_storage_data

5.5 测试验证

 开启NGINX
 图片验证
上传图片web浏览器按地址访问
http://192.168.247.20:8095/group1/M00/00/00/wKj3FF1mf12AZdX8AAd6IwSKkH0380.jpg


六、结尾


至此,FastDFS塔建成功,感谢查阅,如有遗漏,欢迎联系与补充



转载需注明出处:https://www.cnblogs.com/tanshouke/p/12187915.html

 

FastDFS安装部署的更多相关文章

  1. 分布式文件系统之FastDFS安装部署

    前面我们了解了分布式文件系统mogilefs的框架以及安装部署和简单使用,回顾请参考https://www.cnblogs.com/qiuhom-1874/tag/MogileFS/:今天我们来了解下 ...

  2. FastDFS安装步骤

    FastDFS是用c语言编写的一款开源的分布式文件系统,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传.下 ...

  3. 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署

    少啰嗦,直接装 看过上一篇分布式文件系统 - FastDFS 简单了解一下的朋友应该知道,本次安装是使用目前余庆老师开源的最新 V5.05 版本,是余庆老师放在 Github 上的,和目前你能在网络上 ...

  4. 安装部署FastDFS

    安装部署FastDFS 此篇博文是在安装好虚拟机和CentOS7的前提和转自以下几篇博客得来: 1.开启CentOS的网络连接:   1.1.网址:http://blog.csdn.net/white ...

  5. docker安装部署、fastDFS文件服务器搭建与springboot项目接口

    一.docker安装部署 1.更新yum包:sudo yum update 2.安装需要的软件包,yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动 ...

  6. FastDFS安装、配置、部署(一)-安装和部署 (转)

    FastDFS是一个开源的,高性能的的分布式文件系统,他主要的功能包括:文件存储,同步和访问,设计基于高可用和负载均衡,FastDFS非常适用于基于文件服务的站点,例如图片分享和视频分享网站 Fast ...

  7. FastDFS学习总结(1)--FastDFS安装和部署

    FastDFS是一个开源的,高性能的的分布式文件系统,他主要的功能包括:文件存储,同步和访问,设计基于高可用和负载均衡,FastDFS非常适用于基于文件服务的站点,例如图片分享和视频分享网站 Fast ...

  8. FastDFS+Nginx部署详细教程

    本例使用到的所有tar和zip包地址:http://download.csdn.net/detail/corey_jk/9758664 本例中使用CentOS1.CentOS2两台机器实现. 1 GC ...

  9. FastDFS 安装与使用

    FastDFS 安装与使用 1. 什么是 FastDFS FastDFS是一个开源的高性能分布式文件系统(DFS). 它的主要功能包括:文件存储,文件同步和文件访问,以及高容量和负载平衡的设计. Fa ...

随机推荐

  1. HDU_2604 矩阵快速幂 较难推的公式

    一个排队问题,f代表女,m代表男,f和m出现的几率相等.问一个长为L的队伍不能出现 fmf 和 fff这样的串总共有多少种. 这个题目的公式递推略难啊...我看了别人博客才想明白原来是这么递推出来的. ...

  2. MySQL数据库索引常见问题

    笔者看过很多数据库相关方面的面试题,但大多数答案都不太准确,因此决定在自己blog进行一个总结. Q1:数据库有哪些索引?优缺点是什么? 1.B树索引:大多数数据库采用的索引(innoDB采用的是b+ ...

  3. 查看电脑连接的WiFi的密码

    这里提供两种办法:图形界面操作版.命令行操作版 方法一: 打开控制面板 点击红色框部分 方法二 打开命令行:输入命令netsh wlan show profiles "连接的WiFi的名称& ...

  4. python笔记(很乱)、打算抽个时间再好好整理

    最近刚开始学python.总结的可能不是很好 print:打印值 input:可以进行等候赋值.进行一个交互 python中 需要两个==才为判断 变量:数字.字母.下划线组成 类型:int整数.st ...

  5. Linux无法连接网络解决方案

    上次在VM中装好Linux以后,用xshell可以连接上Linux,可是今天在启动虚拟机打开Linux以后,发现又没有网络连接了,因为要用xshell连接的话首先要知道Linux的ipv4地址,在li ...

  6. 如何快速完成一份学术型PPT

    大多人都知道有模板这么个东西. 但是拿到手却不会运用,所以只得急的找人帮忙. 毕竟一套模板的素材图表和你要展示的内容,很多都太不一样. 这种情况,怎么办?下面就来告诉你.   选中一套模版后,放大看看 ...

  7. Android studio中2种build.gradle文件介绍

    根目录下的build.gradle通常不需要修改这个文件中的内容,除非需要添加一些全局的项目构建配置 buildscript { repositories { google() //声明代码托管仓库G ...

  8. tomcat启动极慢在linux生产环境

    在window环境下不会出现启动极慢的问题.   Tomcat启动极慢在生产环境,跟Weblogic一样   此外由于Weblogic创建域的时候使用的JDK是自带的jrockit,所以要解决WebL ...

  9. UML-操作契约总结

    1.操作契约属于什么? 属于用例模型 如图: 2.操作契约在那个阶段引入? 在细化阶段,并非初始阶段. 3.哪些需要写操作契约? 1).最复杂的系统操作 2).最微妙的系统操作

  10. Django专题-ugettext_lazy

    标准翻译 使用函数 ugettext() 来指定一个翻译字符串. 作为惯例,使用短别名 _ 来引入这个函数以节省键入时间. 在下面这个例子中,文本 "Welcome to my site&q ...