1,安装FastDFS之前,先安装libevent工具包。

yum -y install libevent

2,安装libfastcommonV1.0.7工具包。有可能找到新版本的zip压缩包:libfastcommon-master.zip

上传到linux后使用unzip命令就能解压。(前提是安装了zip和unzip工具:

    yum 安装

    yum install -y unzip zip

解压之后有个make.sh的执行文件:执行./make.sh 和 ./make.sh install

如果是新版本的,就不会在/usr中生成lib64的目录,如果是旧版本的就会生成lib64的目录,那么将这个目录中的(/usr/lib64/libfastcommon.so)文件向/usr/lib/下复制一份。

3,上传fastdfs-5.11.tar.gz并安装tracker服务。

1)解压缩(tar -zxf)

2)./make.sh

3)./make.sh install

安装后在/usr/bin/目录下有以fdfs开头的文件都是编译出来的。

配置文件都放到/etc/fdfs文件夹,这些都是sample(样例)。

4)把解压后/root/applications/fastdfs/fastdfs-5.11/conf目录下的所有的配置文件都复制到/etc/fdfs下。

5)配置tracker服务。修改/etc/fdfs/tracker.conf文件。

端口port:22122不需要改。

测试:

  启动tracker server:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

  重启:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

  查看是否有相应的进程:ps aux | grep tracker

  启动之后在配置的目录中就会新建文件夹:(如果没有提前建立相应的文件夹会报错)

  

6)配置storage服务(安装报错-是fastdfs版本问题,同时注意libfastcommon版本要对)

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

如果有多个tracker_server,就增加ip

启动tracker(参考上面的启动方式)。/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

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

启动storage服务。

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart


4,测试服务

配置客户端:

上传图片:

[root@localhost conf]# /usr/bin/fdfs_test /etc/fdfs/client.conf upload /root/apps/fastdfs/fastdfs-5.11/conf/anti-steal.jpg

再此注意将22122和23000开放。/etc/sysconfig/iptables(vim /etc/sysconfig/iptables)

# service iptables status    #查看iptables状态
# service iptables restart #iptables服务重启
# service iptables stop #iptables服务禁用
如果没有安装iptables-services,就需要使用systemctl [start|stop|restart|save|status] iptables.service命令重启,和iptables -L查看状态。 由于我将fastdfs安装在阿里云,所以当开放了22122和23000端口都不能访问,测试失败。原因在于:阿里云有个安全组,需要在阿里云的安全组中配置端口22122和23000,详情查看:
  https://jingyan.baidu.com/article/03b2f78c31bdea5ea237ae88.html。另附:下面可能导致不能访问的原因。
因为我把fastDFS安装在阿里云的,而我调试的时候又是在本地调试(即不和fastDFS同服务器),如果我想上传成功,storage.conf中tracker的地址必须为外网IP,即:tracker_server=外网IP:22122,我们一般在安装的时候都是配置成内网IP的,所以想要能远程访问就必须把它设置成外网ip,其它地方配置都是内网ip不变,比如client.conf中使用内网地址,tracker.conf中使用内网地址。当然如果后面我把java应用也发布到阿里云,那么storage.cof中tracker的地址也可以配置成内网ip,只是这个文件服务器外网不能访问。
 

有了这个链接,粘贴到浏览器访问,失败。——阿里云linux系统上没有http服务器,所以浏览器无法访问。

5,搭建nginx提供http服务

可以使用官方提供的nginx插件。要使用nginx插件需要重新编译。

fastdfs-nginx-module_v1.16.tar.gz

解压插件压缩包

修改/root/fastdfs-nginx-module/src/config文件,把其中的local去掉。

旧版本:

对nginx重新config

将以下配置拷贝到编辑器,去掉行间距,否则报:找不到目录的错误。

必须注意后面的 \ 它保证粘贴在xshell不会立即执行

./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 \

--with-http_gzip_static_module \

--http-client-body-temp-path=/var/temp/nginx/client \

--http-proxy-temp-path=/var/temp/nginx/proxy \

--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \

--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \

--http-scgi-temp-path=/var/temp/nginx/scgi \

--add-module=/root/apps/fastdfs/fastdfs-nginx-module-master/src

(刚才复制的src路径替换)

make

make install

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

修改mod_fastdfs.conf,

nginx的配置/usr/local/nginx/conf/nginx.conf

在nginx的配置文件中添加一个Server:

如果libevent是旧版本,在编译的时候会将一些文件生成后放到/usr/lib64中,这里需要将/usr/lib64中的

libfdfsclient.so放到/usr/lib中,新版本就没有这个问题。

启动nginx(unknown directive "ngx_fastdfs_module"报错:是因为nginx configure时make后没有make install)

使用./nginx -s reload   stop

注意:https://blog.csdn.net/crazzy0727/article/details/53610888需要将80端口监听才能访问nginx。

启动之后查看进程:

ps -aux | grep nginx

发现:没有worker process,说明nginx没有启动成功。

同时在浏览器中输入:192.168.44.41也不能访问nginx。

通过反复查询,看博客。在这篇文章中找到灵感:https://blog.csdn.net/ricciozhang/article/details/49402273

通过查看nginx的日志([root@localhost nginx]# vim /var/log/nginx/error.log )还真发现了

去检查/etc/fdfs/mod_fastdfs.conf,那个tracker的ip没有设置。整了半天啊。

修改后重新加载:sbin/nginx -s reload

然后重新ps -aux | grep nginx

可以啦。在浏览器重新刷新,OKKKKKKKK。

将fastdfs测试的图片链接:http://192.168.44.41/group1/M00/00/00/wKgsKVsmyeGAa214AABdrZgsqUU698_big.jpg访问试试:

Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第十一集之安装FastDFS】的更多相关文章

  1. Linux Kafka集群管理工具kafka-manager的安装使用

    一.kafka-manager简介 kafka-manager是目前最受欢迎的kafka集群管理工具,最早由雅虎开源,用户可以在Web界面执行一些简单的集群管理操作.具体支持以下内容: 管理多个集群 ...

  2. docker swarm 集群及可视化界面的安装及配置

    docker swarm 集群及可视化界面的安装及配置 2016-12-14 16:08:46 标签:swarm consul registrator 原创作品,允许转载,转载时请务必以超链接形式标明 ...

  3. 分布式缓存技术redis学习系列(四)——redis高级应用(集群搭建、集群分区原理、集群操作)

    本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...

  4. 分布式缓存技术redis学习(四)——redis高级应用(集群搭建、集群分区原理、集群操作)

    本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...

  5. 分布式缓存技术redis系列(四)——redis高级应用(集群搭建、集群分区原理、集群操作)

    本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...

  6. redis高级应用(集群搭建、集群分区原理、集群操作)

    文章主目录 Redis集群简介 Redis集群搭建 Redis集群分区原理 集群操作 参考文档 本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 ...

  7. redis在Windows下以后台服务一键搭建集群(单机--伪集群)

    redis在Windows下以后台服务一键搭建集群(单机--伪集群) 一.概述 此教程介绍如何在windows系统中同一台机器上布置redis伪集群,同时要以后台服务的模式运行.布置以脚本的形式,一键 ...

  8. redis系列之4----redis高级应用(集群搭建、集群分区原理、集群操作)

    文章主目录 Redis集群简介 Redis集群搭建 Redis集群分区原理 集群操作 参考文档 本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 ...

  9. Redis集群(五):集群搭建

    一.本文目的        演示在一台机器上搭建3主3从的redis集群,通过演示了解redis集群的搭建,使用和注意事项     二.搭建说明        1.同一台机器搭建3主3从的伪集群   ...

  10. Kafka集群管理工具kafka-manager的安装使用

    一.kafka-manager简介 kafka-manager是目前最受欢迎的kafka集群管理工具,最早由雅虎开源,用户可以在Web界面执行一些简单的集群管理操作.具体支持以下内容: 管理多个集群 ...

随机推荐

  1. VUE 密码验证与提示

    1. 概述 1.1 说明 vue项目中,为了较为明了的让用户看到所输入的密码信息的长度与复杂度是否满足要求,开发一个组件来满足此需求(当密码输入时进行密码验证操作,当密码的长度在8到24位之间,密码中 ...

  2. The word 'localhost' is not correctly spelled 这个问题怎么解决

    The word 'localhost' is not correctly spelled 这个问题怎么解决 有时工程中有下划线并提示 The word is not correctly spelle ...

  3. ionic3 启动白屏处理

    重点就就三点 1.设置不自动隐藏splashscreen页面,设置最多延迟10s再关闭,这样可以不显示启动前的白画面 <preference name="AutoHideSplashS ...

  4. mysql解决外网不能连接

    mysql解决外网不能连接 Author:SimpleWu 或许有些时候会遇到通过ip地址访问项目的数据库,可是访问失败了. 现在给大家一种解决方案: #进入mysql数据库 USE mysql; # ...

  5. k倍区间

    看大佬的代码看了半天,终于算是懂了 标题: k倍区间 给定一个长度为N的数列,A1, A2, … AN,如果其中一段连续的子序列Ai, Ai+1, … Aj(i <= j)之和是K的倍数,我们就 ...

  6. 《剑指offer》用两个栈实现队列

    本题来自<剑指offer> 用两个栈实现队列 题目: 用两个栈来实现一个队列,完成队列的Push和Pop操作. 队列中的元素为int类型. 思路: 队列定义:先进先出 栈定义:先进后出 要 ...

  7. GoogLeNet 之 Inception v1 v2 v3 v4

    论文地址 Inception V1 :Going Deeper with Convolutions Inception-v2 :Batch Normalization: Accelerating De ...

  8. cf1042d 树状数组逆序对+离散化

    /* 给定一个数组,要求和小于t的段落总数 求前缀和 dp[i]表示以第i个数为结尾的小于t的段落总数,sum[i]-sum[l]<t; sum[i]-t<sum[l],所以只要找到满足条 ...

  9. hdu4064 三进制状态压缩 好题!

    还不太会做这类题,总之感觉有点难啊. 用深搜代替打表求出一行所有的可行状态,注意要进行剪枝 这是自己理解的代码,但是tle了 #include<bits/stdc++.h> using n ...

  10. shell 按序删除文件

    一.按时间排序 cd /data/wosbak/hrs/pre/ && ls -A -t | awk '{if(NR>15){print $9}}' | xargs rm -rf ...