linux搭建简易版本的FastDFS服务器
开发环境:centos7环境
搭建FastDFS集群搭建非常复杂,对于初期学习FastDFS来说,搭建个单机版的作为入门更为实际一些。
首先感谢“在京奋斗者“”博主的详细搭建过程,附上博客地址http://blog.csdn.net/u012453843/article/details/69951920
本文主要参考上面博客进行搭建,并不做特详细的搭建过程
1.搭建centos7环境
2.配置桥接模式同时可供外网访问级访问外网
3.安装gcc环境
yum install make cmake gcc gcc-c++进行安装即可
4.上传安装文件到/usr/local/software目录
没有的话就新建一个目录mkdir /usr/local/software
上传所需要的安装包:安装包地址目前在博客园空间的文件Sofeware包
上传成功如下图(图中没有划掉横线的部分,共4个)
5.安装zip和unzip命令(用于解压zip文件)
yum install zip unzip
6.安装libfastcommon
a:解压
unzip libfastcommon-master.zip -d /usr/local/fast/
b.进入目录
cd /usr/local/fast/libfastcommon-master/
c编译
./make.sh
d.安装
./make.sh install
7.创建软连接
FastDFS主程序设置的目录为/usr/local/lib/,所以我们需要创建/ usr/lib64/下的一些核心执行程序的软连接文件。如下所示。
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
8.安装FastDFS
a.进入到cd /usr/local/software下,解压FastDFS_v5.05.tar.gz文件
b.编译安装
cd /usr/local/fast/FastDFS/
./make.sh
./make.sh install
安装完后,服务脚本位置如下
配置文件位置如下(划线部分为后续添加)
FastDFS一系列执行脚本如下,可以看到有上传文件脚本、下载文件脚本等等。
cd /usr/bin/ && ls | grep fdfs
c.
c1 : fastDFS服务脚本设置的bin目录为/usr/local/bin/下,但是实际我们安装在了/u sr/bin/下面。所以我们需要修改FastDFS配置文件中的路径,也就是需要修改两个配置文件
使用命令vim /etc/init.d/fdfs_storaged进入编辑模式,然后直接输入":",光标会定位到最后一行,在":"后输入"%s+/usr/local/bin+/usr/bin",如下图所示。输入完之后回车,会提示修改了7处。
c2: 接着修改第二个配置文件,我们使用命令vim /etc/init.d/fdfs_trackerd进入编辑模式,接着按照上面那样输入":%s+/usr/local/bin+/usr/bin "并按回车,同样会提醒我们修改了7处。
9.配置跟踪服务器
a 进入到/etc/fdfs目录并且复制一份tracker.conf.sample并命名为tracker.conf,如下所示。
cp tracker.conf.sample tracker.conf
b 使用命令vim /etc/fdfs/tracker.conf进入编辑模式,然后修改base_path的值为/fastdfs/tracker,
c.我们在上图配置文件中配置的/fastdfs/tracker目前是不存在的,因此我们需要创建一下该目录
mkdir -p /fastdfs/tracker (会在根目录创建文件夹/fastdfs/tracker)
d.配置并重启防火墙
放开tracker使用的端口22122
firewall-cmd --zone=public --add-port=22122/tcp --permanent
firewall-cmd --reload
e.在启动tracker之前,/fastdfs/tracker目录下是没有任何文件的
f. 启动tracker,启动完之后,可以看到这个目录下多了两个目录data和logs
/etc/init.d/fdfs_trackerd start
10.设置开机自启动
在rc.local文件中添加/etc/init.d/fdfs_trackerd start
vim /etc/rc.d/rc.local
11.配置fastdfs存储
a.进入/etc/fdfs目录,复制一份storage.conf.sample文件并命名为storage.conf
b.修改storage.conf文件 ,我们使用命令vim /etc/fdfs/storage.conf进入编辑模式,对以下四项进行修改,我的虚拟机的IP192.168.0.204,大家根据自己虚拟机的IP自行设置。
- base_path=/fastdfs/storage
- store_path0=/fastdfs/storage
- tracker_server=192.168.156.13:22122
- http.server_port=8888
c.创建存储目录,如下所示。
mkdir -p /fastdfs/storage
12.配置防火墙,允许外界访问storage的默认端口23000
firewall-cmd --zone=public --add-port=23000/tcp --permanent
firewall-cmd --reload
13.在启动storage之前,/fastdbf/storage目录下是没有任何文件的
启动storage,启动后再看/fastdfs/storage目录,可以看到多了data和logs
14.查看FastDFS tracker和storage 是否启动成功,当看到如下所示信息时说明都启动成功了。
15.我们进入到 /fastdfs/storage/data/目录下,可以看到两级共256*256个目录,每级都是从00到FF,如下只是列出了第一级的目录,点进去每个目录都还有00到FF共256个目录。
16.设置storage开机自启动,添加一行/etc/init.d/fdfs_storaged start
vim /etc/rc.local
17.测试图片上传
a.进入到/etc/fdfs目录下并复制一份client.conf.sample并更名为client.conf,
cp client.conf.sample client.conf
b.使用命令vim /etc/fdfs/client.conf进入编辑模式并修改如下两项内容,如下所示
- base_path=/fastdfs/tracker
- tracker_server=192.168.0.204:22122
c我们找到命令的脚本位置,并且使用命令,进行文件的上传。
.
d.测试文件上传 /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/software/3.jpg
18:FastDFS与nginx相结合
a.先安装nginx,可参看本博客地址linux下安装nginx
b.安装fastdfs-nginxmodule_v1.16.tar.gz(fast与nginx相结合的模块安装包), 进入 /usr/local/software目录并解压,如下所示
cd /usr/local/software/
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz -C /usr/local/fast/
c.进入到/usr/local/fast目录下可以看到解压的fastdfs-nginx-module目录,然后进入到fastdfs-nginx-module/src/目录下,可以看到config文件。
cd /usr/local/fast/fastdfs-nginx-module/src/
修改该conf文件,我们把文件的第四行配置中的/usr/local/include都改为/usr/include,共两处。
d. fastdfs与nginx进行结合,由于我们刚才安装过nginx了,因此在/usr/local目录下已经生成了一个nginx目录了
默认安装地址/usr/local/nginx(如没有,可通过whereis nginx查询或者find / -name nginx
为了将nginx与fastdfs相结合,我们先把这个nginx目录删除掉,如下图所示,可以看到已经没有nginx目录了。
rm -rf nginx
进入到nginx-版本号(1.6.2)/目录下并执行配置和编译安装,如下所示。
./configure --add-module=/usr/local/fast/fastdfs-nginx-module/src/
make && make install
复制fastdfs-nginx-module中的配置文件,到/etc/fdfs目录中
cp /usr/local/fast/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
到 /etc/fdfs/ 目录下,修改我们刚copy过来的mod_fastdfs.conf 文件,需要修改的项如下,其中第一项是超时时长,第三项是允许外界通过http方式访问资源。
- connect_timeout=10
- tracker_server=192.168.156.13:22122
- url_have_group_name = true
- store_path0=/fastdfs/storage
复制FastDFS里的2个文件,到/etc/fdfs目录中,如下所示。
[root@fastdfs fdfs]# cd /usr/local/fast/FastDFS/conf/
[root@fastdfs conf]# ll
总用量 84
-rw-r--r--. 1 8980 users 23981 12月 2 2014 anti-steal.jpg
-rw-r--r--. 1 8980 users 1461 12月 2 2014 client.conf
-rw-r--r--. 1 8980 users 858 12月 2 2014 http.conf
-rw-r--r--. 1 8980 users 31172 12月 2 2014 mime.types
-rw-r--r--. 1 8980 users 7829 12月 2 2014 storage.conf
-rw-r--r--. 1 8980 users 105 12月 2 2014 storage_ids.conf
-rw-r--r--. 1 8980 users 7102 12月 2 2014 tracker.conf
[root@fastdfs conf]# cp http.conf mime.types /etc/fdfs/
创建一个软连接,在/fastdfs/storage文件存储目录下创建软连接,将其链接到实际存放数据 的目录,如下所示。
进入到/usr/local/nginx/conf/目录下,修改nginx.conf文件,如下图所示。
修改的内容如下图示
listen 9999; location ~/group([0-9])/M00 {
ngx_fastdfs_module;
设置nginx开机自启动,这样下次重启设备之后,tracker、storage、nginx都自动启动了,直接就可以使用服务,如下所示。
vim /etc/rc.d/rc.local
最下面添加
/usr/local/nginx/sbin/nginx
开启nginx防火墙
firewall-cmd --zone=public --add-port=9999/tcp --permanent
firewall-cmd --reload
现在我们便可以通过http的方式访问我们刚才上传的图片了(我们刚才上传图片返回的地址是group1/M00/00/00/wKgAzFogEkyADJBgAAAonXozs7o921.jpg),如下图所示。
linux搭建简易版本的FastDFS服务器的更多相关文章
- Linux搭建基于Apache的HTTP服务器
Linux搭建基于Apache的HTTP服务器 实验目标: 通过本实验掌握基于Linux的WWW服务器搭建. 实验步骤: 1.安装http服务 2.防火墙放通http服务 3.编辑测试网页 4.开 ...
- Linux搭建基于BIND的DNS服务器
Linux搭建基于BIND的DNS服务器 实验目标: 通过本实验掌握基于Linux的DNS服务器搭建. 实验步骤: 1.安装BIND 2.防火墙放通DNS服务 3.编辑BIND的主配置文件 4.编 ...
- linux 搭建局域网YUM源仓库服务器
yum简介 Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指定的服 ...
- Linux 搭建svn版本库
一.安装svn服务器端yum install subversion 从镜像下载安装svn服务器端 如果后面执行“svnadmin create /usr/local/svn/sunny”提示 ...
- linux搭建简易网站
1.检查环境 getenforce #查看seLinux运行状态 Enforcing #强行执行 setenforce #临时关闭selinux vim /etc/selinux/config #编辑 ...
- 手动搭建简易web框架与django框架简介
目录 纯手写简易web框架 基于wsgiref模块 动静态网页 简单了解jinja2模块 框架请求流程 python主流web框架 django框架 简介 应用app 命令操作django pycha ...
- Linux 搭建SVN 服务器(转)
一. SVN 简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中 ...
- 原 Linux搭建SVN 服务器2
原 Linux搭建SVN 服务器 发表于1年前(2014-08-05 17:55) 阅读(12257) | 评论(3) 31人收藏此文章, 我要收藏 赞3 摘要 Linux搭建SVN 服务器 目录 ...
- 原 Linux搭建SVN 服务器
原 Linux搭建SVN 服务器 发表于1年前(2014-08-05 17:55) 阅读(12257) | 评论(3) 31人收藏此文章, 我要收藏 赞3 摘要 Linux搭建SVN 服务器 目录 ...
随机推荐
- python 面向对象编程 之 单例模式
单例模式三种实现方式: 单例模式:单例模式是解决系统资源浪费的一种方案,是指一个类实例化后可以多次使用此对象. 单例模式应用场景:数据库操作.日志.后台打印 # settings.py# Host=' ...
- Java图形化界面设计——GridBagConstraints
JAVA布局模式:GridBagConstraints终极技巧参数详解 布局模式 :GridBagConstraints布局,先发一个实例: gridx = 2; // X2 gridy = 0; / ...
- 一个比较有意思的SDN网络技术相关blog/doc
http://feisky.xyz/sdn/linux/index.html 涵盖了目前主流的网络技术,所有比较有意思的内容全都覆盖了 SDN网络 目录 基本网络 TCP/IP标准模型 DHCP与DN ...
- JVM 目录
JVM 目录 走进 JVM Java 虚拟机规范(Oracle 官网) Java 虚拟机规范(Java SE 7 中文版) (周志明等译) 周志明,深入理解Java虚拟机[M],机械工业出版社,201 ...
- 使用flask-alchemy 过程中报错KeyError: 'SQLALCHEMY_TRACK_MODIFICATIONS'
在网上找了很多, 大多数说是必须要给 SQLALCHEMY_TRACK_MODIFICATIONS 一个默认值,尝试修改alchemy 源码,,但是还是不起作用 最后阅读源码 , self.app = ...
- openssl RSA基本加密解密
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <openssl/bn ...
- 移动开发学习touchmove
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- HACK字体安装
参考:https://github.com/source-foundry/Hack Linux的 下载最新版本的Hack. 从存档中提取文件(.zip). 将字体文件复制到系统字体文件夹(通常/usr ...
- (转贴)fusionCharts属性参考API
一.FusionCharts的分类 关于FusionCharts的基本介绍我就不在这里浪费篇幅了,想了解的朋友自己去www.baigoogedu.com里面找吧.我就说说FusionCharts的官方 ...
- 【Linux】ApacheBench(ab)压力测试工具
AB的简介 ab是apachebench命令的缩写. ab是apache自带的压力测试工具.ab非常实用,它不仅可以对apache服务器进行网站访问压力测试,也可以对或其它类型的服务器进行压力测试.比 ...