http://blog.csdn.net/xingjiarong/article/details/50560605

在前边我们已经配置好了FastDFS的环境,但是此时的FastDFS还不能通过http来访问,以前版本的FastDFS中都是集成了http服务器的功能,所以我看到一些比较早的博客中都是在配置的时候就考虑到了http服务器,我也按照他们的方法配置过,但是错误百出,后来发现我所使用的FastDFS_v4.06是需要单独配置apache服务器的,下面就来说一下我的配置过程。

一、环境声明

本人在Windows10 64位系统上使用VirtualBox虚拟了一台Ubuntu 14.04 LTS 64位虚拟机,在前面的博客中已经搭建好了FastDFS。FastDFS安装的版本是FastDFS_v4.06,并且采用的是单节点的安装,虚拟机采用网桥网卡方式,IP地址是211.87.226.134。以下所有的命令均是在root用户下执行。

二、安装apache以及相关的软件包

执行以下的命令安装Apache已经相关的软件,切记不能只安装apache2,否则在后边的配置中会出现一些文件找不到的情况。

apt-get install apache2
apt-get install apache2.2-bin
apt-get install apache2-utils
apt-get install apache2-mpm-prefork
apt-get install libapache2-mod-php5
apt-get install apache2-prefork-dev

三、安装配置fastdfs-apache-module

1、执行以下的命令进行下载:

wget https://fastdfs.googlecode.com/files/fastdfs-apache-module_v1.15.tar.gz

2、解压并修改Makefile文件

tar zxvf fastdfs-apache-module_v1.15.tar.gz
cd fastdfs-apache-module/src
gedit Makefile

3、修改以下变量的值,如果你的apache是默认安装的,那么就可以使用以下的目录,如果不是请按照自己的配置进行修改。

APACHE_BASE_PATH=/usr/share/apache2/
APXS=/usr/bin/apxs2
APACHECTL=/usr/bin/apachectl

4、安装

make
make install

5、配置Apache2

创建mod_fastdfs.load文件并添加一部分内容

gedit /etc/apache2/mods-available/mod_fastdfs.load

在这个文件中添加如下的内容:

LoadModule fastdfs_module /usr/lib/apache2/modules/mod_fastdfs.so
<Location /M00>
sethandler fastdfs
</Location>

执行以下命令加载mod_fastdfs.so模块

a2enmod mod_fastdfs

修改虚拟主机配置,修改相关变量值,增加alias行配置

gedit /etc/apache2/sites-enabled/000-default

在文件中添加以下内容:


DocumentRoot /opt/fdfs/data/
<Directory /opt/fdfs/data/> alias /group1/M00 /opt/fdfs/data

修改mod_fastdfs.conf配置

gedit /etc/fdfs/mod_fastdfs.conf

将以下内容根据自己的实际情况进行修改

base_path=/home/xing/fastdfs
tracker_server=211.87.226.134:22122
store_path0=/home/xing/fastdfs

重启apache使配置生效

/etc/init.d/apache2 restart

四、测试

FastDFS安装包中,自带了客户端程序,通过程序可以进行文件上传。在使用这个客户端程序之前,首先需要配置client.conf,然后再进行文件上传及下载。

修改%FastDFS%/conf/client.conf文件,修改如下: 
可自定义,但此目录必须存在,用于存放文件上传log

base_path=/home/xing/fastdfs
tracker_server=211.87.226.134.121:22122

使用以下的命令上传一个文件

fdfs_test %FastDFS%/conf/client.conf upload test.txt

上传成功后会返回下面的信息:

我们在本机的浏览器中输入:http://211.87.226.134/M00/00/00/01fihlag0FiAGaE5AAAAEv-uAfI775_big.txt来访问这个文件就会显示出如下的结果,注意这里的地址不是返回的file url,而是ip地址加上remote_filename。

文件的内容就显示出来了,这里还有中文的乱码,在之后我再设置一下。

(转)分布式文件存储FastDFS(四)配置fastdfs-apache-module的更多相关文章

  1. 分布式文件存储:FastDFS简单使用与原理分析

    引言 FastDFS 属于分布式存储范畴,分布式文件系统 FastDFS 非常适合中小型项目,在我接手维护公司图片服务的时候开始接触到它,本篇文章目的是总结一下 FastDFS 的知识点. 用了 2 ...

  2. 我心中的核心组件(可插拔的AOP)~分布式文件上传组件~基于FastDFS

    回到目录 一些概念 在大叔框架里总觉得缺点什么,在最近的项目开发中,终于知道缺什么了,分布式文件存储组件,就是缺它,呵呵,对于分布式文件存储来说,业界比较公认的是FastDFS组件,它自己本身就是集群 ...

  3. .Net平台下,分布式文件存储的实现

    遇到的问题 对于Web程序,使用一台服务器的时候,客户端上传的文件一般也都是存储在这台服务器上.但在集群环境中就行不通了,如果每个服务器都存储自己接受到的文件,就乱套了,数据库中明明有这个附件的记录, ...

  4. 【网络爬虫入门05】分布式文件存储数据库MongoDB的基本操作与爬虫应用

    [网络爬虫入门05]分布式文件存储数据库MongoDB的基本操作与爬虫应用 广东职业技术学院  欧浩源 1.引言 网络爬虫往往需要将大量的数据存储到数据库中,常用的有MySQL.MongoDB和Red ...

  5. 分布式文件存储数据库 MongoDB

    MongoDB 简介 Mongo 并非芒果(Mango)的意思,而是源于 Humongous(巨大的:庞大的)一词. MongoDB 是一个基于分布式文件存储的 NoSQL 数据库.由 C++ 语言编 ...

  6. (转)分布式文件存储FastDFS(三)FastDFS配置

    http://blog.csdn.net/xingjiarong/article/details/50559768 在上一节中我们一起搭建了一个单节点的FastDFS系统,但是仅仅将系统搭建起来是远远 ...

  7. (转) 分布式文件存储FastDFS(一)初识FastDFS

    http://blog.csdn.net/xingjiarong/article/details/50559849 一.FastDFS简介 FastDFS是一款开源的.分布式文件系统(Distribu ...

  8. 分布式文件存储FastDFS(一)初识FastDFS

    一.FastDFS简单介绍 FastDFS是一款开源的.分布式文件系统(Distributed File System),由淘宝开发平台部资深架构师余庆开发.作为一个分布式文件系统,它对文件进行管理. ...

  9. Centos7部署分布式文件存储(Fastdfs)

    目录 FastDFS介绍 楼主目标:前可H5撩妹,后可Linux搞运维 环境:Centos7 软件: 软件链接: 安装前所有准备,上传软件到Centos7上的/opt的目录下 安装依赖软件和类库(安装 ...

  10. 1Nginx+fastdfs分布式文件存储

     准备,将所需的软件传到服务器上,服务器的列表如下: fastdfs-nginx-module_v1.15.tar.gz FastDFS_v4.06.tar.gz libevent-2.0.21- ...

随机推荐

  1. Java使用JNI调用DLL库

    JNI是Java自带的方法,不需要引入第三方jar包,优点是因为是java自带的方法,兼容性较好,缺点就是代码书写繁琐 新建Java项目Test --> 新建测试类TestNative,声明本地 ...

  2. jQuery.data() 存储数据

    jQuery.data() 的实现方式 jQuery.data() 的作用是为普通对象或 DOM Element 附加数据. 以下将分三个部分分析事实上现方式: 1. 用name和value为对象附加 ...

  3. IOS开发之block应用

    非常长时间都是在学习各位大神的力作,并汲取了不少养料,在此一并谢过各位大神了. 当然了.好东西是要跟大家一起分享的,近期发现了几个很不错的个人网站,都是介绍IOS开发的.当中有唐巧.破船之长.池建强. ...

  4. jqury+css实现可弹出伸缩层

    1.使用可弹出伸缩窗调整了之前的页面布局,使用这样的布局使整个界面看起来更加清爽也更简洁 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L ...

  5. 解析java中volatilekeyword

    在java多线程编程中常常volatile,有时候这个keyword和synchronized 或者lock常常有人混淆.详细解析例如以下: 在多线程的环境中会存在成员变量可见性问题: java的每一 ...

  6. 批量ssh执行命令

    [root@openfire1 script]# cat test.sh  #!/bin/bash   #本地通过ssh执行远程服务器的脚本   for ip in `cat iplist`  do ...

  7. android 获取屏幕的高度和宽度、获取控件在屏幕中的位置、获取屏幕中控件的高度和宽度

    (一)获取屏幕的高度和宽度 有两种方法: 方法1: WindowManager wm = (WindowManager) getContext().getSystemService(Context.W ...

  8. 在word中doc与docx的区别是什么(整理)

    在word中doc与docx的区别是什么(整理) docx 是Office2007使用的,是用新的基于XML的压缩文件格式取代了其目前专有的默认文件格式,在传统的文件名扩展名后面添加了字母x(即.do ...

  9. WebSocket 网页聊天室的实现(服务器端:.net + windows服务,前端:Html5)

    websocket是HTML5中的比较有特色一块,它使得以往在客户端软件中常用的socket在web程序中也能轻松的使用,较大的提高了效率.废话不多说,直接进入题. 网页聊天室包括2个部分,后端服务器 ...

  10. 66.extjs 里对getvalue() 和getRawValue()

    转自:https://blog.csdn.net/u014236541/article/details/49663589?locationNum=8