原文:http://blog.mayongfa.cn/193.html

一、安装 Nginx 和 fastdfs-nginx-module

安装 Nginx 请看:从零开始学 Java - CentOS 下安装 Nginx,其实我只想放这一句话。但想想我还是一步一步写详细吧。

1.下载 Nginx 和 fastdfs-nginx-module ,这里是通过wget下载(我喜欢这种方式)。

 wget -c https://nginx.org/download/nginx-1.10.1.tar.gz
wget https://github.com/happyfish100/fastdfs-nginx-module/archive/master.zip

2.解压 fastdfs-nginx-module ,记着这时候别用tar解压了,因为是 .zip 文件,正确命令:

unzip master.zip

3.配置 nginx 安装,加入fastdfs-nginx-module模块。这是和普通 Nginx 安装不一样的地方,因为加载了模块。

  ./configure --add-module=../fastdfs-nginx-module-master/src/

但是,万万没想到,报错啦!有些文件显示not found错误。更多看下图,都是错误:

比如这些gcc、PCRE这些没找到,说明我们服务器并未安装,所以,我们进行下安装即可了,我在 从零开始学 Java - CentOS 下安装 Nginxgcc、 PCRE pcre-devel、 zlib、 OpenSSL的安装命令,都安装一下之后我们再次进行 Nginx 的安装,显示下面的界面就是安装成功啦!

这时候,我们可以看一下 Nginx 下安装成功的版本及模块,命令:

/usr/local/nginx/sbin/nginx -V

二、配置 fastdfs-nginx-module 和 Nginx

1.配置mod-fastdfs.conf,并拷贝到/etc/fdfs文件目录下。

cd /software/fastdfs-nginx-module-master/src/
vim mod_fastdfs.conf cp mod_fastdfs.conf /etc/fdfs

修改mod-fastdfs.conf配置只需要修改我标注的这三个地方就行了,其他不需要也不建议改变。

# FastDFS tracker_server can ocur more than once, and tracker_server format is
# "host:port", host can be hostname or ip address
# valid only when load_fdfs_parameters_from_tracker is true
tracker_server=192.168.198.129:22122 # if the url / uri including the group name
# set to false when uri like /M00/00/00/xxx
# set to true when uri like ${group_name}/M00/00/00/xxx, such as group1/M00/xxx
# default value is false
url_have_group_name = true # store_path#, based 0, if store_path0 not exists, it's value is base_path
# the paths must be exist
# must same as storage.conf
store_path0=/data/fastdfs/storage
#store_path1=/home/yuqing/fastdfs1

接着我们需要把fastdfs-5.05下面的配置中还没有存在/etc/fdfs中的拷贝进去

cd /software/fastdfs-5.05/conf
cp anti-steal.jpg http.conf mime.types /etc/fdfs/

2.配置 Nginx。编辑nginx.conf文件:

cd /usr/local/nginx/conf
vi nginx.conf

在配置文件中加入:

location /group1/M00 {
root /data/fastdfs/storage/;
ngx_fastdfs_module;
}

由于我们配置了group1/M00的访问,我们需要建立一个group1文件夹,并建立M00到data的软链接。

  mkdir /data/fastdfs/storage/data/group1
ln -s /data/fastdfs/storage/data /data/fastdfs/storage/data/group1/M00

启动 Nginx ,会打印出fastdfs模块的pid,看看日志是否报错,正常不会报错的

/usr/local/nginx/sbin/nginx

打开浏览器,访问一下发现并不能访问,也并没有报错,但显示如下画面。糟糕了,怎么办?对了,我好像没关闭防火墙。

开放80端口访问权限。在iptables中加入重启就行,或者你直接关闭防火墙,本地测试环境可以这么干,但到线上万万不能关闭防火墙的。

vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

重启防火墙,使设置生效:

service iptables restart

再次刷新浏览器,可以看到如下画面,说明我们 Nginx 结合 fastdfs-nginx-module 模块安装并配置成功啦!

我最后说一下怎么在已经安装过 Nginx 的服务器上安装配置 fastdfs-nginx-module 模块? 因为,一般我们线上服务器都是已经安装过 Nginx 的,所以这个时候,我们就直接进入 Nginx 的存放目录,进行配置后编译,就不需要执行最后安装make install这一步了,接着重启就行了。

上传测试

完成上面的步骤后,我们已经安装配置完成了全部工作,接下来就是测试了。因为执行文件全部在/usr/bin目录下,我们切换到这里,并新建一个test.txt文件,随便写一点什么,我写了This is a test file. by:mafly这句话在里边。然后测试上传:

cd /usr/bin
vim test.txt
fdfs_test /etc/fdfs/client.conf upload test.txt

很不幸,并没有成功,报错了。

ERROR - file: shared_func.c, line: 960, open file /etc/fdfs/client.conf fail, errno: 2, error info: No such file or directory
ERROR - file: ../client/client_func.c, line: 402, load conf file "/etc/fdfs/client.conf" fail, ret code: 2

一般什么事情第一次都不是很顺利,这很正常,通过错误提示我看到,好像没有找到client.conf这个文件,现在想起来的确没有配置这个文件,那我们现在去配置一下图中的两个参数:

cd /etc/fdfs
cp client.conf.sample client.conf
vim client.conf

怎么还依然报错阿???

upload file fail, error no: 2, error info: No such file or directory

哈哈,你是不是测试上传命令中要上传的test.txt文件路径有问题,嗯,那我改一下命令:

/usr/bin/fdfs_test /etc/fdfs/client.conf upload /usr/bin/test.txt

成功啦!!! 返回文件信息及上传后的文件 HTTP 地址,你打开浏览器访问一下试试

转载:分布式文件系统 - FastDFS 在 CentOS 下配置安装部署(2)的更多相关文章

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

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

  2. 转载:分布式文件系统 - FastDFS 在 CentOS 下配置安装部署(1)

    原文:http://blog.mayongfa.cn/192.html 一.安装 libfastcommon 和 FastDFS 1.下载安装 libfastcommon ,这里是通过wget下载(我 ...

  3. 分布式文件系统FastDFS在CentOS7上的安装及与Springboot的整合

    1. 概述 FastDFS 是目前比较流行的分布式文件系统,可以很容易的实现横向扩展.动态扩容.灾备.高可用和负载均衡. FastDFS 的服务分为 tracker 服务 和 storage 服务,  ...

  4. CentOS下SparkR安装部署:hadoop2.7.3+spark2.0.0+scale2.11.8+hive2.1.0

    注:之前本人写了一篇SparkR的安装部署文章:SparkR安装部署及数据分析实例,当时SparkR项目还没正式入主Spark,需要自己下载SparkR安装包,但现在spark已经支持R接口,so更新 ...

  5. CentOS下Zabbix安装部署及汉化

    搭建环境:Centos6.5_x86_64,Zabbix2.4.5,epel 源 服务端: 1.安装开发软件包yum -y groupinstall "Development Tools&q ...

  6. redis 在centos下的安装部署

    安装的redis版本是 redis-3.0.2 请严格按照以下步骤进行 可以免除以下错误 1 make[2]: cc: Command not found 异常原因:没有安装gcc 解决方案:yum ...

  7. 分布式文件系统 - FastDFS 配置 Nginx 模块及上传测试

    也不说废话,直接干 上一篇 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署 中安装了 FastDFS 后,并配置启动了 Tracker 和 Storage 服务,已经可以上传文件 ...

  8. 【架构设计】分布式文件系统 FastDFS的原理和安装使用

    本文地址 分享提纲: 1.概述 2. 原理 3. 安装 4. 使用 5. 参考文档 1. 概述 1.1)[常见文件系统] Google了一下,流行的开源分布式文件系统有很多,介绍如下:   -- mo ...

  9. 分布式文件系统 - FastDFS 简单了解一下

    别问我在哪里 也许我早已不是我自己,别问我在哪里,我一直在这里. 突然不知道说些什么了... 初识 FastDFS 记得那是我刚毕业后进入的第一家公司,一个技术小白进入到当时的项目组后,在开发中上传用 ...

随机推荐

  1. java中的内存空间 堆和栈

        认识堆与栈 栈与堆都是Java用来在Ram中存放数据的地方.与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆.Java的堆是一个运行时数据区,类的对象从中分配空间.这些对象通过 ...

  2. 有趣的async

    在项目的开发过程中,同步异步是一个很重要的概念.但是在js中,又会有稍微的不同. 依据微软的MSDN上的解说: (1) 同步函数:当一个函数是同步执行时,那么当该函数被调用时不会立即返回,直到该函数所 ...

  3. 第一节,TensorFlow基本用法

    一 TensorFlow安装 TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tsnsor(张量)意味着N维数组,Flow(流)意味着基 ...

  4. nginx 配置后网站图片加载出来一半或者不出来

    项目进行nginx反向代理后发现图片和js.css等加载很慢,甚至加载不出来. 然后查看nginx的log,发现错误如下: 2016/06/30 15:31:12 [crit] 29465#0: *1 ...

  5. generator详解

    generator函数 yield可以返回值,也可以传入值 形式: 注意!generator不能写成arrow function的形式!!! function *函数(){ 代码1... let a ...

  6. Spark进阶之路-日志服务器的配置

    Spark进阶之路-日志服务器的配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果你还在纠结如果配置Spark独立模式(Standalone)集群,可以参考我之前分享的笔记: ...

  7. JavaScript Array() 对象:push() 和 join() 方法

    <script> var fruits = ["Banana", "Orange", "Apple", "Mango& ...

  8. luogu 1006 传纸条

    三/四维dp,将两次传递均看作从左上而来,在dp过程中注意防止越界/重合 f[i][j][k][l]直接枚举两轮的点,如下 #include<bits/stdc++.h> #define ...

  9. 20155334 2016-2017-2 《Java程序设计》第九周学习总结

    20155334 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章:整合数据库 16.1 JDBC入门 JDBC(Java DataBase Conn ...

  10. SAP笔记---非-现存任务/请求XXX上的请求锁定

    不管在SAP中的哪个系统在点击修改程序时都有可能出现以下图中的报错: 已找到解决办法,步骤如下: 1,se11中查看tlock表找到以上提到的请求号记录: 2,进入se16n,输入请求号,在事务代码输 ...