(转)分布式文件存储FastDFS(四)配置fastdfs-apache-module
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的更多相关文章
- 分布式文件存储:FastDFS简单使用与原理分析
引言 FastDFS 属于分布式存储范畴,分布式文件系统 FastDFS 非常适合中小型项目,在我接手维护公司图片服务的时候开始接触到它,本篇文章目的是总结一下 FastDFS 的知识点. 用了 2 ...
- 我心中的核心组件(可插拔的AOP)~分布式文件上传组件~基于FastDFS
回到目录 一些概念 在大叔框架里总觉得缺点什么,在最近的项目开发中,终于知道缺什么了,分布式文件存储组件,就是缺它,呵呵,对于分布式文件存储来说,业界比较公认的是FastDFS组件,它自己本身就是集群 ...
- .Net平台下,分布式文件存储的实现
遇到的问题 对于Web程序,使用一台服务器的时候,客户端上传的文件一般也都是存储在这台服务器上.但在集群环境中就行不通了,如果每个服务器都存储自己接受到的文件,就乱套了,数据库中明明有这个附件的记录, ...
- 【网络爬虫入门05】分布式文件存储数据库MongoDB的基本操作与爬虫应用
[网络爬虫入门05]分布式文件存储数据库MongoDB的基本操作与爬虫应用 广东职业技术学院 欧浩源 1.引言 网络爬虫往往需要将大量的数据存储到数据库中,常用的有MySQL.MongoDB和Red ...
- 分布式文件存储数据库 MongoDB
MongoDB 简介 Mongo 并非芒果(Mango)的意思,而是源于 Humongous(巨大的:庞大的)一词. MongoDB 是一个基于分布式文件存储的 NoSQL 数据库.由 C++ 语言编 ...
- (转)分布式文件存储FastDFS(三)FastDFS配置
http://blog.csdn.net/xingjiarong/article/details/50559768 在上一节中我们一起搭建了一个单节点的FastDFS系统,但是仅仅将系统搭建起来是远远 ...
- (转) 分布式文件存储FastDFS(一)初识FastDFS
http://blog.csdn.net/xingjiarong/article/details/50559849 一.FastDFS简介 FastDFS是一款开源的.分布式文件系统(Distribu ...
- 分布式文件存储FastDFS(一)初识FastDFS
一.FastDFS简单介绍 FastDFS是一款开源的.分布式文件系统(Distributed File System),由淘宝开发平台部资深架构师余庆开发.作为一个分布式文件系统,它对文件进行管理. ...
- Centos7部署分布式文件存储(Fastdfs)
目录 FastDFS介绍 楼主目标:前可H5撩妹,后可Linux搞运维 环境:Centos7 软件: 软件链接: 安装前所有准备,上传软件到Centos7上的/opt的目录下 安装依赖软件和类库(安装 ...
- 1Nginx+fastdfs分布式文件存储
准备,将所需的软件传到服务器上,服务器的列表如下: fastdfs-nginx-module_v1.15.tar.gz FastDFS_v4.06.tar.gz libevent-2.0.21- ...
随机推荐
- Java使用JNI调用DLL库
JNI是Java自带的方法,不需要引入第三方jar包,优点是因为是java自带的方法,兼容性较好,缺点就是代码书写繁琐 新建Java项目Test --> 新建测试类TestNative,声明本地 ...
- jQuery.data() 存储数据
jQuery.data() 的实现方式 jQuery.data() 的作用是为普通对象或 DOM Element 附加数据. 以下将分三个部分分析事实上现方式: 1. 用name和value为对象附加 ...
- IOS开发之block应用
非常长时间都是在学习各位大神的力作,并汲取了不少养料,在此一并谢过各位大神了. 当然了.好东西是要跟大家一起分享的,近期发现了几个很不错的个人网站,都是介绍IOS开发的.当中有唐巧.破船之长.池建强. ...
- jqury+css实现可弹出伸缩层
1.使用可弹出伸缩窗调整了之前的页面布局,使用这样的布局使整个界面看起来更加清爽也更简洁 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L ...
- 解析java中volatilekeyword
在java多线程编程中常常volatile,有时候这个keyword和synchronized 或者lock常常有人混淆.详细解析例如以下: 在多线程的环境中会存在成员变量可见性问题: java的每一 ...
- 批量ssh执行命令
[root@openfire1 script]# cat test.sh #!/bin/bash #本地通过ssh执行远程服务器的脚本 for ip in `cat iplist` do ...
- android 获取屏幕的高度和宽度、获取控件在屏幕中的位置、获取屏幕中控件的高度和宽度
(一)获取屏幕的高度和宽度 有两种方法: 方法1: WindowManager wm = (WindowManager) getContext().getSystemService(Context.W ...
- 在word中doc与docx的区别是什么(整理)
在word中doc与docx的区别是什么(整理) docx 是Office2007使用的,是用新的基于XML的压缩文件格式取代了其目前专有的默认文件格式,在传统的文件名扩展名后面添加了字母x(即.do ...
- WebSocket 网页聊天室的实现(服务器端:.net + windows服务,前端:Html5)
websocket是HTML5中的比较有特色一块,它使得以往在客户端软件中常用的socket在web程序中也能轻松的使用,较大的提高了效率.废话不多说,直接进入题. 网页聊天室包括2个部分,后端服务器 ...
- 66.extjs 里对getvalue() 和getRawValue()
转自:https://blog.csdn.net/u014236541/article/details/49663589?locationNum=8