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. MySQL慢日志切割邮件发送脚本

    #!/bin/bashtime=`date -d yesterday +"%Y-%m-%d"`slowlog='/usr/local/percona/data/slow.log'# ...

  2. Ubuntu 16.04中CPU轮流100%的问题解决

    刚装好Ubuntu 16.04,但是观察各个CPU都是轮流100%,如图所示:

  3. 阿牛的EOF牛肉串-记忆化搜索或动态规划

    C - 阿牛的EOF牛肉串 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submi ...

  4. 字符串的切割操作(strtok,split)

    一:strtok C/C++:char *strtok(char s[], const char *delim); s 代表须要切割的字符串,delim代表切割的标志,參数都为比选!返回指向切割部分的 ...

  5. Rsync命令的使用

    Rsync的命令格式能够为下面六种: rsync [OPTION]- SRC DEST rsync [OPTION]- SRC [USER@]HOST:DEST rsync [OPTION]- [US ...

  6. 开发汉澳sinox64位,对接汉澳矩阵电脑

    汉澳矩阵电脑刚刚不久前提出,即使全然设计出了汉澳矩阵电脑线路图,要在上面执行操作系统必须有矩阵操作系统. 汉澳sinox64位操作系统并非矩阵操作系统,仅仅是更为接近. 汉澳矩阵电脑假设插有16个矩阵 ...

  7. Codeforces Round #263 (Div. 1)-A,B,C

    A: 这道题目还是非常easy的,做过非常多遍了.相似于分割木板的问题. 把全部的数放在一个优先队列里,弹出两个最大的,然后合并,把结果放进去.依次进行. #include <iostream& ...

  8. java中inputstream的使用

    java中的inputstream是一个面向字节的流抽象类,其依据详细应用派生出各种详细的类. 比方FileInputStream就是继承于InputStream,专门用来读取文件流的对象,其详细继承 ...

  9. LeetCode 409. Longest Palindrome (最长回文)

    Given a string which consists of lowercase or uppercase letters, find the length of the longest pali ...

  10. 自己制作Android包括@hide接口的SDK

    Android系统存在一些系统级应用与framework代码耦合较深,编译的时候依赖非常多类里面的@hide接口.这类应用怎么来编译呢?首先我们须要制作一份包括Hide接口的SDK,方法例如以下(以a ...