集群安装
1.FastDFS安装

  • Tracker,nginx

192.168.56.113
       192.168.56.114

  • storage

group1
      192.168.56.115
      192.168.56.116
      group1
      192.168.56.116
      192.168.56.117

FastDFS相关软件下载地址 https://sourceforge.net/projects/fastdfs/files/
* 安装gcc。命令:apt-get install make

apt-get install gcc
apt-get install cmake
apt-get install gcc-c++

1.1  下载libfastcommon(项目通用函数库)

1)可以从git下载

git clone https://github.com/happyfish100/libfastcommon.git

2)编译安装

cd libfastcommon/
./make.sh
./make.sh install

libfastcommon默认安装到了/usr/lib64/目录下,而Fastdfs程序使用,/usr/local/lib/,所以创建文件链接

3)创建链接

mkdir /usr/local/lib/
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

1.2 安装FastDFS
1)编译安装FastDFS

cd /usr/local/src
wget http://nchc.dl.sourceforge.net/project/fastdfs/FastDFS%20Server%20Source%20Code/FastDFS%20Server%20with%20PHP%20Extension%20Source%20Code%20V5./FastDFS_v5..tar.gz
tar -zxvf FastDFS_v5..tar.gz
cd FastDFS
./make.sh
./make.sh install

* 服务脚本在:

/etc/init.d/fdfs_storaged
/etc/init.d/fdfs_trackerd

* 配置文件在:

/etc/fdfs/client.conf.sample
/etc/fdfs/storage.conf.sample
/etc/fdfs/tracker.conf.sampl

2)修改服务脚本
* 因为FastDFS服务脚本设置的bin目录为/usr/local/bin/下,但是实际我们安装在了/u
sr/bin/下面。所以我们需要修改FastDFS配置文件中的路径,也就是需要修改俩
个配置文件:

vim /etc/init.d/fdfs_storaged
%s+/usr/local/bin+/usr/bin ---替换服务脚本路径
vim /etc/init.d/fdfs_trackerd
%s+/usr/local/bin+/usr/bin ---替换服务脚本路径

3)修改Tracker配置文件

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

先修改base_path即可

4)启动Tracker

/etc/init.d/fdfs_trackerd start
ps -ef |grep fdfs

5)四个storage节点修改Storage配置文件

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

修改以下配置

disabled=false #启用配置文件
group_name=group1 #组名,根据实际情况修改
port= #设置storage的端口号
base_path=/home/tuna/data/fastdfs/storage #设置storage的日志目录(需预先创建)
store_path_count= #存储路径个数,需要和store_path个数匹配
store_path0=/home/tuna/data/fastdfs/storage#存储路径
tracker_server=192.168.56.113:
tracker_server=192.168.56.114:
http.server_port= #设置http端口号

创建对应的目录

sudo mkdir -p /home/tuna/data/fastdfs/storage

6)启动storage

/etc/init.d/fdfs_storaged start 

查看是否启动

ps -ef |grep fdfs

1.3 配置Client

cd /etc/fdfs/
cp client.conf.sample client.conf
vim client.conf base_path/home/tuna/data/fastdfs/client
tracker_server=192.168.56.113:
tracker_server=192.168.18.114:

* 上传文件

/usr/bin/fdfs_upload_file /etc/fdfs/client.conf ./redis.sh

在Storage节点上观察上传的文件

cd /home/tuna/data/fastdfs/storage/data//

ls

启动storage

4. 在所有storage节点安装nginx
 在storage上安装的nginx主要为了提供http的访问服务,同时解决group中storage服务器的同步延迟问题

两台机器都要安装nginx
storage节点安装fastdfs-nginx-module_v1.16.tar.gz
1)安装nginx

sudo wget http://nginx.org/download/nginx-1.12.0.tar.gz
tar -zxvf nginx-1.12..tar.gz
cd nginx-1.12.

加入模块命令:

./configure --add-module=/home/tuna/fastdfs-nginx-module/src
sudo make&&sudo make install

复制fastdfs-ngin-module中的配置文件,到/etc/fdfs目录中

sudo cp /home/tuna/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

/etc/fdfs/ 目录下,我们刚刚copy过来的mod_fastdfs.conf 文件。

vim /etc/fdfs/mod_fastdfs.conf

修改一下配置

base_path=/home/fastdfs #保存日志目录
tracker_server=192.168.56.113:
tracker_server=192.168.56.114:
storage_server_port=#storage服务器的端口号
group_name=group1#当前服务器的group名
url_have_group_name = true #文件url中是否有group名
store_path_count= #存储路径个数,需要和store_path个数匹配
store_path0=/home/fastdfs #存储路径
http.need_find_content_type=true#从文件扩展名查找文件类型(nginx时为true)
group_count = #设置组的个数
在末尾增加2个组的具体信息:
[group1]
group_name=group1
storage_server_port=
store_path_count=
store_path0=/home/fastdfs [group2]
group_name=group2
storage_server_port=
store_path_count=
store_path0=/home/fastdfs

建立M00至存储目录的符号连接:

ln -s /home/fastdfs/data /home/fastdfs/data/M00

3) 复制FastDFS里的2个文件,到/etc/fdfs目录中

sudo cp http.conf mime.types /etc/fdfs/

4)

创建一个软连接,在/fastdfs/storage文件存储目录下创建软连接,将其链接到实际存放数据的目录

sudo ln -s /home/tuna/data/fastdfs/storage/data /home/tuna/data/fastdfs/storage/data/M00

5)修改Nginx配置文件

cd /usr/local/nginx/conf
vim nginx.conf

做以下配置

server {
listen ;
server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location ~/group([-])/M00 { ngx_fastdfs_module;
} )开启Nginx /usr/local/nginx/sbin/nginx * * * * * . 两个tracker和nginx整合 * 需要ngx_cache_purge-2.3.tar.gz 包
sudo apt-get update
sudo apt-get install libpcre3 libpcre3-dev
sudo apt-get install openssl libssl-dev
) tar -zxvf nginx-1.12..tar.gz
tar -zxvf ngx_cache_purge-2.3.tar.gz
cd nginx-1.12.
./configure --prefix=/usr/local/nginx --add-module=/root/ngx_cache_purge-2.3
make
make install ) user root;
worker_processes ; #error_log logs/error.log;
#error_log logs/error.log notice;
error_log logs/error.log info; #pid logs/nginx.pid; events {
worker_connections ;
} http {
include mime.types;
default_type application/octet-stream;
#设置缓存参数
server_names_hash_bucket_size ;
client_header_buffer_size 32k;
large_client_header_buffers 32k;
client_max_body_size 300m;
sendfile on;
tcp_nopush on;
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout ;
proxy_send_timeout ;
proxy_read_timeout ;
proxy_buffer_size 16k;
proxy_buffers 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
#设置缓存存储路径、存储方式、分配内存大小、磁盘最大空间、缓存期限
proxy_cache_path /var/cache/nginx/proxy_cache levels=: keys_zone=http-cache:500m max_size=10g inactive=30d; proxy_temp_path /var/cache/nginx/proxy_cache/tmp; keepalive_timeout ; #设置group服务器
upstream fdfs_group1 {
server 192.168.56.114: weight= max_fails= fail_timeout=30s;
server 192.168.56.115: weight= max_fails= fail_timeout=30s;
}
upstream fdfs_group2 {
server 192.168.56.116: weight= max_fails= fail_timeout=30s;
server 192.168.56.117: weight= max_fails= fail_timeout=30s;
} server {
listen ;
server_name localhost;
charset utf-;
#access_log /usr/local/nginx/logs/localhost.access.log main; location /group1/M00 {
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_cache http-cache;
proxy_cache_valid 12h;
proxy_cache_key $uri$is_args$args;
proxy_pass http://fdfs_group1;
expires 30d;
}
location /group2/M00 {
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_cache http-cache;
proxy_cache_valid 12h;
proxy_cache_key $uri$is_args$args;
proxy_pass http://fdfs_group2;
expires 30d;
}
#设置清除缓存的访问权限
location ~ /purge(/.*) {
allow 127.0.0.1;
allow 172.16.1.0/;
deny all;
proxy_cache_purge http-cache $$is_args$args;
}
} }

创建缓存目录:

sudo mkdir -p /var/cache/nginx/proxy_cache/tmp

3) 启动nginx

/usr/local/nginx/sbin/nginx 

通过nginx做个反向代理,实现一台机器控制多个节点

欢迎批评指正,我的看云地址:https://www.kancloud.cn/tuna_dai_/day01/347597,qq:931309012

FastDFS集群安装的更多相关文章

  1. FastDFS 集群 安装 配置

    这篇文章介绍如何搭建FastDFS 集群 FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的 ...

  2. fastdfs集群安装过程_学习笔记

    最终效果 初始化为6个节点 在/usr/local/software 目录下上传需要用到tar包,分别在各个节点上传 使用scp 将本地software目录复制到其他节点上 73.74为 tracke ...

  3. FastDFS集群-安装说明

    一.简介 FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的问题.特别适合以文件为载体的在线 ...

  4. 集群 安装 配置FastDFS

    FastDFS 集群 安装 配置 这篇文章介绍如何搭建FastDFS 集群 FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载 ...

  5. 一张图讲解最少机器搭建FastDFS高可用分布式集群安装说明

     很幸运参与零售云快消平台的公有云搭建及孵化项目.零售云快消平台源于零售云家电3C平台私有项目,是与公司业务强耦合的.为了适用于全场景全品类平台,集团要求项目平台化,我们抢先并承担了此任务.并由我来主 ...

  6. Dubbo入门到精通学习笔记(十七):FastDFS集群的安装、FastDFS集群的配置

    文章目录 FastDFS集群的安装 FastDFS 介绍(参考:http://www.oschina.net/p/fastdfs) FastDFS 上传文件交互过程: FastDFS 下载文件交互过程 ...

  7. Linux安装fastdfs集群部署

    过程问题: make: gcc:命令未找到 解决: yum -y install gcc 一.环境和版本: Linux环境:CentOS 7.6 libfastcommon版本:1.0.39 Fast ...

  8. 19.fastDFS集群理解+搭建笔记

    软件架构理解 1FastDFS介绍 1.1什么是FastDFS FastDFS是用c语言编写的一款开源的分布式文件系统.FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并 ...

  9. FastDfs集群docker化部署

    初识分布式文件系统FastDFS- 1.分布式与集群的区别 区别:集群是个物理形态,分布式是个工作方式.只要是一堆机器,就可以叫集群,他们是不是一起协作着干活,这个谁也不知道:一个程序或系统,只要运行 ...

随机推荐

  1. JAVA JDK配置

    配置环境变量_jdk 1.右键选择[计算机]——[属性] ——[左上角的高级系统设置] 2.点击[环境变量] 3.在[系统变量]里点击[新建], 变量名填写JAVA_HOME,变量值填写JDK的安装路 ...

  2. VC++ MFC如何生成一个可串行化的类

    一.MFC允许对象在程序运行的整个过程中持久化的串行化机制(1)串行化是指向持久化存储媒介(如一个磁盘文件)读或写对象的过程.(2)串行化用于在程序运行过程时或之后修复结构化数据(如C++类或结构)的 ...

  3. centos 下安装redis

    一.安装redis 第一步:下载redis安装包 redis下载地址 wget http://download.redis.io/releases/redis-5.0.3.tar.gz 第二步:解压压 ...

  4. WIN7系统 如何上传文件到FTP服务器中

    https://zhidao.baidu.com/question/214644671.html

  5. nmap使用

    Nmap使用 Nmap是主机扫描工具,他的图形化界面是Zenmap,分布式框架为Dnamp. Nmap可以完成以下任务: 主机探测 端口扫描 版本检测 系统检测 支持探测脚本的编写 Nmap在实际中应 ...

  6. Java字节流Stream的使用,创建方法

    首先:FileOutputStream写入数据文件 学习父类的方法 使用子类的对象 步骤: 1:子类中的构造方法   作用  :绑定输出的目的地 FileOutputStream fos= new F ...

  7. python全栈 字典数据类型相关知识及操作

    python 全栈开发 一.字典 1. 字典的概念: 字典 : dict 用 {} 来表示,   键位值数据. { key , value }    具有唯一性. 键:都必须是可哈希的     不可变 ...

  8. git ssh免登陆,以及ssh config

    git去连接github或gitlab上的远程仓库,可以使用ssh方式,也可以使用git的账号密码登录 这里介绍使用ssh方式实现免登陆(第一步和第二步即可实现)   第一步:生成ssh秘钥 ssh- ...

  9. 数据库表字段,DEFAULT NULL与NOT NULL DEFAULT

    为什么要把字段设置成not null 呢? 1.空值是不占用空间的 2.mysql中的NULL其实是占用空间的,下面是来自于MYSQL官方的解释 “NULL columns require addit ...

  10. centos 7 redis-4.0.11 哨兵

    redis-master:192.168.199.223 redis-slave_1: 192.168.199.224 redis-slave_2: 192.168.199.252 redis-mas ...