法斯特DFS架构简介

法斯特DFS架构简介

CentOS6.5环境搭建分布式存储法斯特DFS-5.0.5集群详细进度,fastdfs分布式集群

FastDFS架构简介

法斯特DFS是一款开源的、分布式文件系统(Distributed File
System),由Tmall开发平台部资深架构师余庆开发。法斯特DFS 是归纳一组 Tracker
Server 和 Storage Server 的。Tracker Server 与 Storage Server
之间不直接通讯,其主干的新闻由布署文件在系统运维加载时获悉。多台 Tracker
Server 之间保险了 Tracker 的分布式,Tracker Server
之间是对等的,防止了单点故障。 Storage Server 是分成多个 Group,每一种Group 中的Storage 都以相互备份的,相当于说,即使 Group1 有
Storage一 、Storage② 、Storage3,其容积分别是100GB、100GB、100GB,那么
Group1 的囤积能力是 100GB,而不是
300GB,那就是相互备份的意思。进一步说,整个 Group
的蕴藏能力由该组中该储能力最小的 Storage 决定。七个 Group
之间的储存格局,可以利用 round robin(轮训)、load
balanced(负载均衡)或内定 Group
的格局。另一些周旋于MS(Master-Slave)情势的优势,就是 Tracker Server 与
Master 是顺其自然不一致的,不仅 master 有下面可能涉及的单点故障难点,而且
client 与 master 之间或然会油不过生瓶颈。但 法斯特DFS 架构中,Tracker Server
不会称呼系统瓶颈,数据最后是与壹个 available 的 Storage Server
进行传输的。

上传流程

我们得以经过 法斯特DFS 对文本的上传进度,来开头摸底 法斯特DFS
的着力架构。首先客户端 client 发起对 法斯特DFS
的文件传输动作,是通过连接到某一台 Tracker Server
的钦定端口来贯彻的,Tracker Server
依据当下已控制的新闻,来支配取舍哪一台 Storage Server
,然后将那几个Storage Server 的地址等新闻重临给 client,然后 client
再经过这么些新闻连接到那台 Storage Server,将要上传的文本传送到给 Storage
Server上。

总结

简单易行总括一下,法斯特DFS的特征包蕴(1)高可信性:无单点故障;(2)高吞吐量:只要
Group 丰富多,数据流量是十足分散的。

 

FastDFS部署:

一 、机器分布

Tracker 192.168.100.106:22122 CentOS

Group1-Storage1 192.168.100.106:23001 CentOS

Group1-Storage1 192.168.100.125:23001 CentOS

 

二 、须要到的软件和版本(软件存放地方:/root/soft)

 澳门金沙国际 1

表达:nginx紧要完结负载均衡、缓存等功效

 

叁 、创造连锁文书夹

配置tracker所需的base_path: /opt/fastdfs_tracker

配备storage所需的日记目录:fastdfs_storage_info。备注:存储storage之间同步文件等日志的

配置storage所需的储存文件目录: /opt/fastdfs_storage_data。备注:
那一个目录是用来囤积文件的

 

以上四个文件将在继续的tracker.conf和storage.conf、mod_fastdfs.conf中用到

 

四 、安装libfastcommon-1.0.7.zip
(注意:先反省是或不是安装unzip、zip、gcc、perl等)

unzip libfastcommon-1.0.7.zip

cd libfastcommon-1.0.7

sh make.sh && sh make.sh install

 

perl安装:

wget

              tar zxvf perl-5.20.2.tar.gz               

              mkdir /usr/local/perl

              ./Configure -des -Dprefix=/usr/local/perl
-Dusethreads -Uversiononly

              make

              make install

              perl -version   

 

只顾:上述安装路径在/usr/lib64/,法斯特DFS主程序设置lib目录是/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

 

5、安装fastdfs-5.05.tar.gz:

tar -zxvf fastdfs-5.05.tar.gz

cd fastdfs-5.05

./make.sh && ./make.sh install

 

进去/etc/fdfs这一个目录,如若有布署文件存在,则设置成功

 

 

 

 

上述步骤在tracker和storage机器上都亟需实施

 

6、配置tracker (192.168.100.106)

跻身/etc/fdfs文件夹,执行命令: cp  tracker.conf.sample  tracker.conf。

      编辑tracker.conf,执行命令: vi  tracker.conf ,配置成如下:

disabled=false #false代表开启配置文件

bind_addr= #空代表全部host,也足以钦点host

port=22122 #tracker默许开启的端口号

connect_timeout=30 #总是超时时间

network_timeout=60 #网络超时时间

base_path=/opt/fastdfs_tracker #存放store的数量和日志文件

max_connections=256 #允许最奥斯汀接数

accept_threads=1 #允许的线程数

work_threads=4 #工作线程数,必须低于等于max_connections

store_lookup=2 #分选上传文件方式0:轮询,1:内定组,2:负载均衡

store_group=group1 #上传到组group1

store_server=0 #上传到storage,0:轮询,1:IP顺序,2:服务器顺序

store_path=0 #上传文件到哪些路径0:轮询,2:负载均衡

download_server=0 #钦点下载服务器0:轮询,1:使用源服务器

reserved_storage_space = 10% #保存的仓储空间

log_level=info #日记等级

run_by_group= #挑拔取户组,空代表当前用户组

run_by_user= #选拔用户,空代表当前用户

allow_hosts=* #允许访问的IP,*意味着整个

sync_log_buff_interval = 10 #一齐日志buff到磁盘的间隔时间

check_active_interval = 120 #检查storage状态间隔时间

thread_stack_size = 64KB #线程的库房大小,必须高于等于64KB

storage_ip_changed_auto_adjust = true #storageIP改变是活动调整

storage_sync_file_max_delay = 86400 #同台文件的最大延迟

storage_sync_file_max_time = 300 #联机文件的最大日子

use_trunk_file = false #是否采纳中继文件存储小文件

slot_min_size = 256 #积存文件的纤维单位,必须超出等于4KB

slot_max_size = 16MB #存储文件的最大单位,必须当先slot_min_size

trunk_file_size = 64MB #接通文件的深浅,必须高于等于4MB

trunk_create_file_advance = false #是或不是允许创造中继文件超前

trunk_create_file_time_base = 02:00 #创立trunk文件的光阴尺度

trunk_create_file_interval = 86400 #成立trunk文件的年华间隔

trunk_create_file_space_threshold = 20G

trunk_init_check_occupying = false

trunk_init_reload_from_binlog = false

trunk_compress_binlog_min_interval = 0

use_storage_id = false

storage_ids_filename = storage_ids.conf

id_type_in_filename = ip

store_slave_file_use_link = false

rotate_error_log = false

error_log_rotate_time=00:00

rotate_error_log_size = 0

log_file_keep_days = 0

use_connection_pool = false

connection_pool_max_idle_time = 3600

http.server_port=8080

http.check_alive_interval=30

http.check_alive_type=tcp

http.check_alive_uri=/status.htm

 

配备文件详细声明参考:

 

启动tracker: /usr/local/bin/fdfs_trackerd  /etc/fdfs/tracker.conf
 start (start\stop\restart)

检测是不是运维成功:netstat -lntup|grep fdfs_trackerd

 

 

安装开机运维:

echo “/usr/bin/fdfs_trackerd  /etc/fdfs/tracker.conf  start” >>
/etc/rc.d/rc.local

 

7、配置storage (192.168.100.106\192.168.100.125)

进去/etc/fdfs文件夹,执行命令: cp  storage.conf.sample  storage.conf

编辑storage.conf,执行命令: vi storage.conf ,配置成如下:

disabled=false

group_name=group1

bind_addr=

client_bind=true

port=23001

connect_timeout=30

network_timeout=60

heart_beat_interval=30

stat_report_interval=60

base_path=/opt/fastdfs_storage_info

max_connections=256

buff_size = 256KB

accept_threads=1

work_threads=4

disk_rw_separated = true

disk_reader_threads = 1

disk_writer_threads = 1

sync_wait_msec=50

sync_interval=0

sync_start_time=00:00

sync_end_time=23:59

write_mark_file_freq=500

store_path_count=1

store_path0=/opt/fastdfs_storage_data

subdir_count_per_path=256

tracker_server=192.168.100.106:22122

log_level=info

run_by_group=

run_by_user=

allow_hosts=*

file_distribute_path_mode=0

file_distribute_rotate_count=100

fsync_after_written_bytes=0

sync_log_buff_interval=10

sync_binlog_buff_interval=10

sync_stat_file_interval=300

thread_stack_size=512KB

upload_priority=10

if_alias_prefix=

check_file_duplicate=0

file_signature_method=hash

key_namespace=FastDFS

keep_alive=0

use_access_log = false

rotate_access_log = false

access_log_rotate_time=00:00

rotate_error_log = false

error_log_rotate_time=00:00

rotate_access_log_size = 0

rotate_error_log_size = 0

log_file_keep_days = 0

file_sync_skip_invalid_record=false

use_connection_pool = false

connection_pool_max_idle_time = 3600

http.domain_name=

http.server_port=8888

 

配置文件详细声明参考:

 

启动storage: /usr/local/bin/fdfs_storage  /etc/fdfs/storage.conf  start

检测是或不是启动成功:netstat -lntup|grep fdfs_storaged

 澳门金沙国际 2

检测运行状态:/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

       查看192.168.100.106:23001 是ACTIVE状态即可

 

安装开机自动运转:

echo “/usr/bin/fdfs_trackerd  /etc/fdfs/storage.conf  start” >>
/etc/rc.d/rc.local

 

8、安装nginx

storage中装置nginx,紧假如为着为提供http的拜访服务,同时缓解group中storage服务器的联合延迟难点。而tracker中安装nginx,重如果为了提供http访问的反向代理、负载均衡以及缓存服务 

yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl
openssl-devel

 

a、在storage中安装nginx (192.168.100.106\192.168.100.125)

tar -zxvf nginx1.7.8.tar.gz

tar -zxvf fastdfs-nginx-module_v1.16.tar.gz

cd /root/soft/fastdfs-nginx-module/src

编写config文件,找到包罗CORE_INCS这几个一行,将路径中local全体去掉,变为CORE_INCS=”$CORE_INCS
/usr/include/fastdfs /usr/include/fastcommon/”

cd nginx1.7.8

–prefix=/opt/nginx –add-module=/root/soft/fastdfs-nginx-module/src

make && make install

 

编纂nginx.conf文件如下:

 

 

 

 

 

 

 

 

 

 

 

 

将http.conf和mime.types拷贝到/etc/fdfs/下,假诺不进行这一步,运营nginx时会报错。

cp /root/soft/fastdfs-5.05/conf/http.conf /etc/fdfs/

cp /root/soft/fastdfs-5.05/conf/mime.conf /etc/fdfs/

将mod_fastdfs.conf那个文件拷贝到 /etc/fdfs 目录下

cp /root/soft/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

编辑mod_fastdfs.conf 文件如下:

connect_timeout=2

network_timeout=30

base_path=/opt/fastdfs_storage_info

load_fdfs_parameters_from_tracker=true

storage_sync_file_max_delay = 86400

use_storage_id = false

storage_ids_filename = storage_ids.conf

tracker_server=192.168.100.106:22122

storage_server_port=23001

group_name=group1

url_have_group_name = true

store_path_count=1

store_path0=/opt/fastdfs_storage_data

log_level=info

log_filename=

response_mode=proxy

if_alias_prefix=

flv_support = true

flv_extension = flv

group_count = 1

[group1]

group_name=group1

storage_server_port=23001

store_path_count=1

store_path0=/opt/fastdfs_storage_data

store_path1=/opt/fastdfs_storage_data

 

布局文件详细评释参考:

 

制造软连接:

ln  -s  /opt/fastdfs_storage_data/data
 /opt/fastdfs_storage_data/data/M00

 

启动nginx: /opt/nginx/sbin/nginx

 

b、在tracker中安装nginx

tar -zxvf nginx1.7.8.tar.gz

tar -zxvf fastdfs-nginx-module_v1.16.tar.gz

cd /root/soft/fastdfs-nginx-module/src

编排config文件,找到包涵CORE_INCS那么些一行,将路径中local全体去掉,变为CORE_INCS=”$CORE_INCS
/usr/include/fastdfs /usr/include/fastcommon/”

cd nginx1.7.8

–prefix=/opt/nginx –add-module=/root/soft/fastdfs-nginx-module/src
–add-module=/root/soft/ngx_cache_purge-2.1 –with-http_ssl_module
–with-pcre=/root/soft/pcre-8.40 –with-zlib=/root/soft/zlib-1.2.11

make && make install

 

编辑nginx.conf文件如下:

 澳门金沙国际 3

启动nginx:/opt/nginx/sbin/nginx

 

⑨ 、测试并上传文件

编排client.conf 文件,编辑内容如下:

 

 

 

 

 

 

测试上传文件:

echo “this is a test file — hello world” >> test.txt

/usr/bin/fdfs_test /etc/fdfs/client.conf upload test.txt #上传

转移如下url,并复制到浏览器访问

 

澳门金沙国际 4

 澳门金沙国际 5

澳门金沙国际 6

上述测试阐明成功,并且两台stroage同步成功了

 

测试负载均衡办法:停掉192.168.100.125大概192.168.100.106的storage再展开上传测试

 /usr/local/bin/fdfs_storage  /etc/fdfs/storage.conf  stop

 

 

拾、PHP安装FasfDFS扩充模块

cd /root/soft/fastdfs-5.05/client

make && make install

cd /root/soft/fastdfs-5.05/php_client

 

/usr/local/php/bin/phpize

./configure –with-php-config=/usr/local/php/bin/php-config

make && make install

cd /etc/fdfs

vi client.conf

tracker_server=192.168.100.106:22122 //依照条件填写IP地址及端口号

 

在php.ini配置文件中加载fastdfs

cat fastdfs_client.ini >> /usr/local/php/etc/php.ini

 

增产nginx配置如下:

server {

listen 8080;

server_name localhost;

access_log /data/wwwlogs/access_nginx_cms.log combined;

root /opt/nginx/html;

index index.html index.htm index.php forum.php;

location /nginx_status {

access_log off;

allow 127.0.0.1;

deny all;

}

error_page 404 /404.html;

location ~ [^/]\.php(/|$) {

fastcgi_pass 192.168.100.106:9000;

fastcgi_index index.php;

include /usr/local/nginx/conf/fastcgi_params;

include fastcgi.conf;

}

location \(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {

expires 30d;

access_log off;

}

location \(js|css)?$ {

expires 7d;

access_log off;

}

}

 

重启nginx和php

/opt/nginx/sbin/nginx -s reload

或者

pkill -9 nginx

/opt/nginx/sbin/nginx

 

kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`

或者

pkill -9 php

/usr/local/php/sbin/php-fpm

 

测试:在浏览器中输入:

只要现身如同于以下截图则代表成功

 澳门金沙国际 7

 

法斯特DFS架构简介 FastDFS是一款开源的、分布式文件系统(Distributed
Fil…

0.参考
正文是在上学淘淘商城项目时记下的。主借使参考了淘淘商城录像及《Java
程序员眼中的 Linux》
https://github.com/judasn/Linux-Tutorial

法斯特DFS是一款开源的、分布式文件系统(Distributed File
System),由Tmall开发平台部资深架构师余庆开发。法斯特DFS
是包括一组 Tracker Server 和 Storage Server 的。Tracker Server 与
Storage Server
之间不直接通讯,其主干的信息由布置文件在系统运维加载时获知。多台 Tracker
Server 之间保障了 Tracker 的分布式,Tracker Server
之间是对等的,防止了单点故障。 Storage Server 是分成多少个 Group,各个Group 中的Storage 都以相互备份的,相当于说,若是 Group1 有
Storage① 、Storage贰 、Storage3,其体量分别是100GB、100GB、100GB,那么
Group1 的蕴藏能力是 100GB,而不是
300GB,那就是并行备份的意味。进一步说,整个 Group
的贮存能力由该组中该储能力最小的 Storage 决定。多少个 Group
之间的囤积形式,可以动用 round robin(轮训)、load
balanced(负载均衡)或内定 Group
的主意。另一些针锋相对于MS(Master-Slave)情势的优势,就是 Tracker Server 与
Master 是毫无疑问差其他,不仅 master 有上边或许涉嫌的单点故障难题,而且
client 与 master 之间恐怕会冒出瓶颈。但 法斯特DFS 架构中,Tracker Server
不会称呼系统瓶颈,数据最后是与二个 available 的 Storage Server
举行传输的。

法斯特DFS是一款开源的、分布式文件系统(Distributed File
System),由Tmall开发平台部资深架构师余庆开发。法斯特DFS
是回顾一组 Tracker Server 和 Storage Server 的。Tracker Server 与
Storage Server
之间不直接通讯,其大旨的新闻由布署文件在系统运转加载时得知。多台 Tracker
Server 之间保障了 Tracker 的分布式,Tracker Server
之间是对等的,防止了单点故障。 Storage Server 是分成七个 Group,各个Group 中的Storage 都以互相备份的,相当于说,如若 Group1 有
Storage一 、Storage② 、Storage3,其容积分别是100GB、100GB、100GB,那么
Group1 的存储能力是 100GB,而不是
300GB,那就是相互备份的意趣。进一步说,整个 Group
的贮存能力由该组中该储能力最小的 Storage 决定。五个 Group
之间的积存格局,可以使用 round robin(轮训)、load
balanced(负载均衡)或指定 Group
的法子。另一些相持于MS(Master-Slave)情势的优势,就是 Tracker Server 与
Master 是肯定区其余,不仅 master 有下边或者涉及的单点故障难题,而且
client 与 master 之间只怕会现出瓶颈。但 法斯特DFS 架构中,Tracker Server
不会称呼系统瓶颈,数据最后是与二个 available 的 Storage Server
举行传输的。

1.什么是FastDFS
法斯特DFS是用c语言编写的一款开源的分布式文件系统。法斯特DFS为网络量身定制,丰裕考虑了冗余备份、负载均衡、线性扩容等机制,并保养高可用、高质量等目标,使用法斯特DFS很不难搭建一套高质量的文件服务器集群提供文件上传、下载等劳务。

上传流程

上传流程

澳门金沙国际 8

我们得以透过 法斯特DFS 对文件的上传进程,来早先摸底 法斯特DFS
的中坚架构。首先客户端 client 发起对 FastDFS
的文件传输动作,是经过连接到某一台 Tracker Server
的内定端口来促成的,Tracker Server
依照当下已控制的消息,来支配拔取哪一台 Storage Server
,然后将以此Storage Server 的地址等音讯重回给 client,然后 client
再通过那些信息连接到那台 Storage Server,将要上传的文件传送到给 Storage
Server上。

大家得以经过 法斯特DFS 对文本的上传进度,来伊始了解 FastDFS
的骨干架构。首先客户端 client 发起对 法斯特DFS
的文件传输动作,是通过一连到某一台 Tracker Server
的钦赐端口来贯彻的,Tracker Server
依照近来已控制的音信,来支配取舍哪一台 Storage Server
,然后将以此Storage Server 的地点等新闻再次来到给 client,然后 client
再经过那个音讯连接到那台 Storage Server,将要上传的文本传送到给 Storage
Server上。

1.png

总结

总结

2.文本上传流程

简言之总计一下,法斯特DFS的性状包罗(1)高可相信性:无单点故障;(2)高吞吐量:只要
Group 丰盛多,数据流量是十足分散的。

简简单单统计一下,FastDFS的性状包罗(1)高可信性:无单点故障;(2)高吞吐量:只要
Group 丰裕多,数据流量是十足分散的。

澳门金沙国际 9

 

 

2.png

FastDFS部署:

FastDFS部署:

3.文本下载流程

壹 、机器分布

壹 、机器分布

澳门金沙国际 10

Tracker 192.168.100.106:22122 CentOS

Tracker 192.168.100.106:22122 CentOS

3.png

Group1-Storage1 192.168.100.106:23001 CentOS

Group1-Storage1 192.168.100.106:23001 CentOS

4.上传文件的文本名
客户端上传文件后存储服务器将文件ID重临给客户端,此文件ID用于今后访问该文件的目录新闻。文件索引音讯包罗:组名,虚拟磁盘路径,数据两级目录,文件名。

Group1-Storage1 192.168.100.125:23001 CentOS

Group1-Storage1 192.168.100.125:23001 CentOS

澳门金沙国际 11

 

 

clipboard.png

② 、要求到的软件和本子(软件存放地点:/root/soft)

二 、须要到的软件和本子(软件存放地点:/root/soft)

组名:文件上传后所在的storage组名称,在文书上传成功后有storage服务器再次回到,必要客户端自行保留。
虚拟磁盘路径:storage配置的虚构路径,与磁盘选项store_path*对应。假设安顿了store_path0则是M00,借使安插了store_path1则是M01,以此类推。
多少两级目录:storage服务器在各种虚拟磁盘路径下创立的两级目录,用于存储数据文件。

 澳门金沙国际 12

 澳门金沙国际 13

文件名:与公事上传时不一样。是由存储服务器依照特定新闻变更,文件名包含:源贮存服务器IP地址、文件创立时间戳、文件大小、随机数和文书拓展名等新闻。
5.FastDFS搭建

讲明:nginx主要完成负载均衡、缓存等作用

注明:nginx首要完结负载均衡、缓存等成效

澳门金沙国际 14

 

 

clipboard2.png

叁 、创制连锁文件夹

三 、创立连锁文件夹

可以应用一台虚拟机来模拟,唯有多个Tracker、多个Storage服务。配置nginx访问图片。
5.1 搭建步骤(单机安装配置CentOS 6.7 环境)

配置tracker所需的base_path: /opt/fastdfs_tracker

配置tracker所需的base_path: /opt/fastdfs_tracker

软件准备
FastDFS_v5.05.tar.gz
fastdfs-nginx-module_v1.16.tar.gz
libfastcommon-1.0.7.tar.gz

布局storage所需的日记目录:fastdfs_storage_info。备注:存储storage之间同步文件等日志的

安顿storage所需的日志目录:fastdfs_storage_info。备注:存储storage之间同步文件等日志的

安装器重包:yum install -y libevent
进入安装路径:cd /usr/local
创建fastFDS文件夹:mkdir fastFDS
进入fastFDS文件夹:cd fastFDS
安装 libfastcommon-1.0.7.tar.gz
下载:wget
https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz
修改名字:mv V1.0.7 libfastcommon-1.0.7.tar.gz
解压:tar zxvf libfastcommon-1.0.7.tar.gz
进去解压后目录:cd libfastcommon-1.0.7/
编译:./make.sh
安装:./make.sh install
设置几个软链接: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

配备storage所需的储存文件目录: /opt/fastdfs_storage_data。备注:
那几个目录是用来囤积文件的

配置storage所需的存储文件目录: /opt/fastdfs_storage_data。备注:
那么些目录是用来储存文件的

安装 tracker (跟踪器)服务 FastDFS_v5.05.tar.gz
下载:wget
https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz
修改名字:mv V5.05 法斯特DFS_v5.05.tar.gz
解压:tar zxvf FastDFS_v5.05.tar.gz
进去解压后目录:cd fastdfs-5.05/
编译:./make.sh
安装:./make.sh install
安装结果:

 

 

/usr/bin 存放有编译出来的文书/etc/fdfs 存放有布置文件
5集群详细经过,安装和配备。配置 tracker 服务
复制一份配置文件:cp /etc/fdfs/tracker.conf.sample
/etc/fdfs/tracker.conf
编制:vim /etc/fdfs/tracker.conf,编辑内容看下边普通话注释
<pre>
disabled=false
bind_addr=
port=22122
connect_timeout=30
network_timeout=60

上述多少个公文将在此起彼伏的tracker.conf和storage.conf、mod_fastdfs.conf中用到

上述三个公文将在继续的tracker.conf和storage.conf、mod_fastdfs.conf中用到

上面那个途径是保存 store data 和 log 的地点,需要改下,指向我们三个设有的目录

 

 

开创目录:mkdir -p /opt/fastdfs/tracker/data-and-log

base_path=/opt/fastdfs/tracker/data-and-log
max_connections=256
accept_threads=1
work_threads=4
store_lookup=2
store_group=group2
store_server=0
store_path=0
download_server=0
reserved_storage_space = 10%
log_level=info
run_by_group=
run_by_user=
allow_hosts=*
sync_log_buff_interval = 10
check_active_interval = 120
thread_stack_size = 64KB
storage_ip_changed_auto_adjust = true
storage_sync_file_max_delay = 86400
storage_sync_file_max_time = 300
use_trunk_file = false
slot_min_size = 256
slot_max_size = 16MB
trunk_file_size = 64MB
trunk_create_file_advance = false
trunk_create_file_time_base = 02:00
trunk_create_file_interval = 86400
trunk_create_file_space_threshold = 20G
trunk_init_check_occupying = false
trunk_init_reload_from_binlog = false
trunk_compress_binlog_min_interval = 0
use_storage_id = false
storage_ids_filename = storage_ids.conf
id_type_in_filename = ip
store_slave_file_use_link = false
rotate_error_log = false
error_log_rotate_time=00:00
rotate_error_log_size = 0
log_file_keep_days = 0
use_connection_pool = false
connection_pool_max_idle_time = 3600
http.server_port=8080
http.check_alive_interval=30
http.check_alive_type=tcp
http.check_alive_uri=/status.html
</pre>

启动 tracker 服务:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
重启 tracker 服务:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
restart
翻开是或不是有 tracker 进度:ps aux | grep tracker

storage (存储节点)服务配置
诚如 storage
服务大家会独自装一台机子,不过此地为了方便大家设置在同一台。
假使 storage
单独安装的话,那方面安装的具备手续都要在走一回,只是到了编写配置文件的时候,编辑的是
storage.conf 而已
复制一份配置文件:cp /etc/fdfs/storage.conf.sample
/etc/fdfs/storage.conf
编制:vim /etc/fdfs/storage.conf,编辑内容看下边汉语注释

<pre>

disabled=false
group_name=group1
bind_addr=
client_bind=true
port=23000
connect_timeout=30
network_timeout=60
heart_beat_interval=30
stat_report_interval=60

④ 、安装libfastcommon-1.0.7.zip
(注意:先检查是还是不是安装unzip、zip、gcc、perl等)

四 、安装libfastcommon-1.0.7.zip
(注意:先检查是或不是安装unzip、zip、gcc、perl等)

下边这么些途径是保存 store data 和 log 的地点,必要改下,指向1个设有的目录

unzip libfastcommon-1.0.7.zip

unzip libfastcommon-1.0.7.zip

创设目录:mkdir -p /opt/fastdfs/storage/data-and-logbase_path=/opt/fastdfs/storage/data-and-log

max_connections=256
buff_size = 256KB
accept_threads=1
work_threads=4
disk_rw_separated = true
disk_reader_threads = 1
disk_writer_threads = 1
sync_wait_msec=50
sync_interval=0
sync_start_time=00:00
sync_end_time=23:59
write_mark_file_freq=500
store_path_count=1

cd libfastcommon-1.0.7

cd libfastcommon-1.0.7

图形实际存放路径,假使有八个,那里能够有多行:

sh make.sh && sh make.sh install

sh make.sh && sh make.sh install

store_path0=/opt/fastdfs/storage/images-data0

 

 

store_path1=/opt/fastdfs/storage/images-data1

perl安装:

perl安装:

store_path2=/opt/fastdfs/storage/images-data2

wget

wget

创设目录:mkdir -p /opt/fastdfs/storage/images-datastore_path0=/opt/fastdfs/storage/images-data

subdir_count_per_path=256

              tar zxvf perl-5.20.2.tar.gz               

              tar zxvf perl-5.20.2.tar.gz               

钦点 tracker 服务器的 IP 和端口

tracker_server=192.168.1.114:22122
log_level=info
run_by_group=
run_by_user=
allow_hosts=*
file_distribute_path_mode=0
file_distribute_rotate_count=100
fsync_after_written_bytes=0
sync_log_buff_interval=10
sync_binlog_buff_interval=10
sync_stat_file_interval=300
thread_stack_size=512KB
upload_priority=10
if_alias_prefix=
check_file_duplicate=0
file_signature_method=hash
key_namespace=FastDFS
keep_alive=0
use_access_log = false
rotate_access_log = false
access_log_rotate_time=00:00
rotate_error_log = false
error_log_rotate_time=00:00
rotate_access_log_size = 0
rotate_error_log_size = 0
log_file_keep_days = 0
file_sync_skip_invalid_record=false
use_connection_pool = false
connection_pool_max_idle_time = 3600
http.domain_name =
http.server_port=8888

</pre>

启动 storage 服务:/usr/bin/fdfs_storaged
/etc/fdfs/storage.conf,第四回运营会很慢,因为它在创立预设存储文件的目录
重启 storage 服务:/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
restart
查看是还是不是有 storage 进度:ps aux | grep storage

测试是还是不是安顿成功
用自带的 client 进行测试
复制一份配置文件:cp /etc/fdfs/client.conf.sample
/etc/fdfs/client.conf
编制:vim /etc/fdfs/client.conf,编辑内容看下边汉语注释

<pre>

connect_timeout=30
network_timeout=60

              mkdir /usr/local/perl

              mkdir /usr/local/perl

下边这些途径是保存 store log 的地点,须要改下,指向一个设有的目录

              ./Configure -des -Dprefix=/usr/local/perl
-Dusethreads -Uversiononly

              ./Configure -des -Dprefix=/usr/local/perl
-Dusethreads -Uversiononly

开创目录:mkdir -p /opt/fastdfs/client/data-and-log

base_path=/opt/fastdfs/client/data-and-log

              make

              make

钦点 tracker 服务器的 IP 和端口

tracker_server=192.168.1.114:22122
log_level=info
use_connection_pool = false
connection_pool_max_idle_time = 3600
load_fdfs_parameters_from_tracker=false
use_storage_id = false
storage_ids_filename = storage_ids.conf
http.tracker_server_port=80

</pre>

从网上下载一张图片到 /opt下:

cd /opt
wget
http://www.rettc.org/staticImage/news/20160419/1460995882635.jpg
在极限中经过 shell 上传 opt 目录下的一张图纸:/usr/bin/fdfs_test
/etc/fdfs/client.conf upload /opt/1460995882635.jpg

结果如下:

纵使大家以后掌握图片的造访地址我们也访问不了,因为我们还没装 法斯特DFS 的
Nginx 模块

设置Nginx和其插件
假若Nginx已经安装过,则仅必要fastdfs-nginx-module_v1.16.tar.gz。安装
Nginx 第叁方模块也等于那些 Nginx 都以要重新安装两次的
进入usr/local:cd /usr/local
下载Nginx:wget
http://nginx.org/download/nginx-1.11.8.tar.gz
下载Nginx插件:wget
http://jaist.dl.sourceforge.NET/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module\_v1.16.tar.gz
解压 Nginx 模块:tar zxvf
fastdfs-nginx-module_v1.16.tar.gz,放到目录地址:/opt/setups/法斯特DFS/fastdfs-nginx-module
编写 Nginx 模块的布署文件:vim
/opt/setups/法斯特DFS/fastdfs-nginx-module/src/config
找到上面一行蕴含有 local 字眼去掉,因为那多个路子根本不是在 local
目录下的

<pre>

CORE_INCS=”$CORE_INCS /usr/local/include/fastdfs
/usr/local/include/fastcommon/”

</pre>
改为如下:

<pre>

CORE_INCS=”$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/”

</pre>

复制文件:cp /usr/local/fastDFS/fastdfs-5.05/conf/http.conf /etc/fdfs
复制文件:cp /usr/local/fastDFS/fastdfs-5.05/conf/mime.types /etc/fdfs

安装 Nginx 依赖包:yum install -y gcc gcc-c++ pcre pcre-devel zlib
zlib-devel openssl openssl-devel
预设多少个公文夹,方便等下安装的时候有点公文可以开展存放:mkdir -p
/usr/local/nginx /var/log/nginx /var/temp/nginx /var/lock/nginx
解压 Nginx:tar zxvf /opt/setups/nginx-1.8.1.tar.gz
进入解压后目录:cd /opt/setups/nginx-1.8.1/
编译配置:(注意最终一行)

<pre>

./configure
–prefix=/usr/local/nginx
–pid-path=/var/local/nginx/nginx.pid
–lock-path=/var/lock/nginx/nginx.lock
–error-log-path=/var/log/nginx/error.log
–http-log-path=/var/log/nginx/access.log
–with-http_gzip_static_module
–http-client-body-temp-path=/var/temp/nginx/client
–http-proxy-temp-path=/var/temp/nginx/proxy
–http-fastcgi-temp-path=/var/temp/nginx/fastcgi
–http-uwsgi-temp-path=/var/temp/nginx/uwsgi
–http-scgi-temp-path=/var/temp/nginx/scgi
–add-module=/opt/setups/FastDFS/fastdfs-nginx-module/src

</pre>

编译:make
安装:make install
复制 Nginx 模块的配置文件:cp
/opt/setups/法斯特DFS/fastdfs-nginx-module/src/mod_fastdfs.conf
/etc/fdfs
编写 Nginx 模块的安顿文件:vim
/etc/fdfs/mod_fastdfs.conf,编辑内容看上边粤语注释
一旦在曾经起步 Nginx 的情事下修改上边内容记得要重启 Nginx。

<pre>

connect_timeout=2
network_timeout=30

              make install

              make install

下面那个途径是保留 log 的地方,须要我们改下,指向大家3个留存的目录

              perl -version   

              perl -version   

创办目录:mkdir -p /opt/fastdfs/fastdfs-nginx-module/data-and-log

base_path=/opt/fastdfs/fastdfs-nginx-module/data-and-log
load_fdfs_parameters_from_tracker=true
storage_sync_file_max_delay = 86400
use_storage_id = false
storage_ids_filename = storage_ids.conf

 

 

钦赐 tracker 服务器的 IP 和端口

tracker_server=192.168.1.114:22122
storage_server_port=23000
group_name=group1

专注:上述安装路径在/usr/lib64/,法斯特DFS主程序设置lib目录是/usr/local/lib,创立软连接如下: 

在意:上述安装路径在/usr/lib64/,法斯特DFS主程序设置lib目录是/usr/local/lib,创立软连接如下: 

因为大家访问图片的地点是:

             ln -s /usr/lib64/libfastcommon.so
/usr/local/lib/libfastcommon.so

             ln -s /usr/lib64/libfastcommon.so
/usr/local/lib/libfastcommon.so

http://192.168.1.114/group1/M00/00/00/wKgBclb0aqWAbVNrAAAjn7\_h9gM813\_big.jpg

             ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so

             ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so

该地方前面是带有 /group1/M00,所以大家那里要使用 true,不然访问不到(原值是 false)

url_have_group_name = truestore_path_count=1

             ln -s /usr/lib64/libfdfsclient.so
/usr/local/lib/libfdfsclient.so

             ln -s /usr/lib64/libfdfsclient.so
/usr/local/lib/libfdfsclient.so

图形实际存放路径,倘若有多少个,这里可以有多行:

             ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

             ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

store_path0=/opt/fastdfs/storage/images-data0

 

 

store_path1=/opt/fastdfs/storage/images-data1

5、安装fastdfs-5.05.tar.gz:

5、安装fastdfs-5.05.tar.gz:

store_path2=/opt/fastdfs/storage/images-data2

store_path0=/opt/fastdfs/storage/images-data
log_level=info
log_filename=
response_mode=proxy
if_alias_prefix=
flv_support = true
flv_extension = flv
group_count = 0

</pre>

编排 Nginx 配置文件

<pre>

tar -zxvf fastdfs-5.05.tar.gz

tar -zxvf fastdfs-5.05.tar.gz

在意这一行行,特别丰硕了利用 root 用户去履行,不然有些日记目录没有权力访问

user root;
worker_processes 1;

events {
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;

sendfile on;
keepalive_timeout 65;

server {
listen 80;
# 访问本机
server_name 192.168.1.114;
# 拦截包涵 /group1/M00 请求,使用 fastdfs 这么些 Nginx 模块举办转载
location /group1/M00 {
ngx_fastdfs_module;
}
}
}

</pre>

启动 Nginx
停掉防火墙:service iptables stop
初步:/usr/local/nginx/sbin/nginx,运转成功 shell 是不会有出口的
走访:192.168.1.114,尽管能看出:Welcome to nginx!,即可表示安装成功
检查 时候有 Nginx 进度:ps aux | grep nginx,不奇怪是显得 3 个结果出来
刷新 Nginx 配置后重启:/usr/local/nginx/sbin/nginx -s reload
停止 Nginx:/usr/local/nginx/sbin/nginx -s stop
如果访问不了,或是出现其余消息看下错误立即:vim
/var/log/nginx/error.log本文主要参照

cd fastdfs-5.05

cd fastdfs-5.05

./make.sh && ./make.sh install

./make.sh && ./make.sh install

 

 

进去/etc/fdfs这一个目录,如若有布置文件存在,则设置成功

进去/etc/fdfs那一个目录,假设有安插文件存在,则设置成功

澳门金沙国际 15

澳门金沙国际 16

 

 

 

 

 

 

 

 

如上步骤在tracker和storage机器上都急需执行

如上步骤在tracker和storage机器上都需求实践

 

 

6、配置tracker (192.168.100.106)

6、配置tracker (192.168.100.106)

进入/etc/fdfs文件夹,执行命令: cp  tracker.conf.sample  tracker.conf。

进入/etc/fdfs文件夹,执行命令: cp  tracker.conf.sample  tracker.conf。

      编辑tracker.conf,执行命令: vi  tracker.conf ,配置成如下:

      编辑tracker.conf,执行命令: vi  tracker.conf ,配置成如下:

disabled=false #false代表开启配置文件

disabled=false #false代表开启配置文件

bind_addr= #空代表全数host,也足以内定host

bind_addr= #空代表全体host,也足以内定host

port=22122 #tracker暗中认可开启的端口号

port=22122 #tracker暗许开启的端口号

connect_timeout=30 #总是超时时间

connect_timeout=30 #连日来超时时间

network_timeout=60 #互联网超时时间

network_timeout=60 #互连网超时时间

base_path=/opt/fastdfs_tracker #寄存store的多寡和日志文件

base_path=/opt/fastdfs_tracker #寄存store的数量和日志文件

max_connections=256 #同意最阿比让接数

max_connections=256 #允许最奥斯汀接数

accept_threads=1 #允许的线程数

accept_threads=1 #同意的线程数

work_threads=4 #工作线程数,必须低于等于max_connections

work_threads=4 #工作线程数,必须低于等于max_connections

store_lookup=2 #选料上传文件格局0:轮询,1:内定组,2:负载均衡

store_lookup=2 #采取上传文件情势0:轮询,1:钦命组,2:负载均衡

store_group=group1 #上传到组group1

store_group=group1 #上传到组group1

store_server=0 #上传到storage,0:轮询,1:IP顺序,2:服务器顺序

store_server=0 #上传到storage,0:轮询,1:IP顺序,2:服务器顺序

store_path=0 #上传文件到哪些路径0:轮询,2:负载均衡

store_path=0 #上传文件到哪些路径0:轮询,2:负载均衡

download_server=0 #点名下载服务器0:轮询,1:使用源服务器

download_server=0 #点名下载服务器0:轮询,1:使用源服务器

reserved_storage_space = 10% #封存的储存空间

reserved_storage_space = 10% #保存的积存空间

log_level=info #日记等级

log_level=info #日志等级

run_by_group= #慎选拔户组,空代表当前用户组

run_by_group= #挑拔取户组,空代表当前用户组

run_by_user= #接纳用户,空代表当前用户

run_by_user= #分选择户,空代表当前用户

allow_hosts=* #同意访问的IP,*代表全部

allow_hosts=* #允许访问的IP,*代表整个

sync_log_buff_interval = 10 #协办日志buff到磁盘的间隔时间

sync_log_buff_interval = 10 #一同日志buff到磁盘的间隔时间

check_active_interval = 120 #检查storage状态间隔时间

check_active_interval = 120 #反省storage状态间隔时间

thread_stack_size = 64KB #线程的仓库大小,必须超过等于64KB

thread_stack_size = 64KB #线程的堆栈大小,必须高于等于64KB

storage_ip_changed_auto_adjust = true #storageIP改变是机动调整

storage_ip_changed_auto_adjust = true #storageIP改变是机关调整

storage_sync_file_max_delay = 86400 #协办文件的最大延迟

storage_sync_file_max_delay = 86400 #一同文件的最大延迟

storage_sync_file_max_time = 300 #一起文件的最大时间

storage_sync_file_max_time = 300 #一路文件的最大时间

use_trunk_file = false #是否使用中继文件存储小文件

use_trunk_file = false #是或不是拔取中继文件存储小文件

slot_min_size = 256 #储存文件的微乎其单反相机位,必须超出等于4KB

slot_min_size = 256 #存储文件的很小单位,必须超越等于4KB

slot_max_size = 16MB #仓储文件的最大单位,必须高于slot_min_size

slot_max_size = 16MB #储存文件的最大单位,必须超出slot_min_size

trunk_file_size = 64MB #对接文件的轻重,必须高于等于4MB

trunk_file_size = 64MB #连着文件的轻重缓急,必须大于等于4MB

trunk_create_file_advance = false #是还是不是允许创造中继文件超前

trunk_create_file_advance = false #是否允许创造中继文件超前

trunk_create_file_time_base = 02:00 #创办trunk文件的光阴尺度

trunk_create_file_time_base = 02:00 #创立trunk文件的年华标准

trunk_create_file_interval = 86400 #创建trunk文件的年月距离

trunk_create_file_interval = 86400 #创立trunk文件的小时距离

trunk_create_file_space_threshold = 20G

trunk_create_file_space_threshold = 20G

trunk_init_check_occupying = false

trunk_init_check_occupying = false

trunk_init_reload_from_binlog = false

trunk_init_reload_from_binlog = false

trunk_compress_binlog_min_interval = 0

trunk_compress_binlog_min_interval = 0

use_storage_id = false

use_storage_id = false

storage_ids_filename = storage_ids.conf

storage_ids_filename = storage_ids.conf

id_type_in_filename = ip

id_type_in_filename = ip

store_slave_file_use_link = false

store_slave_file_use_link = false

rotate_error_log = false

rotate_error_log = false

error_log_rotate_time=00:00

error_log_rotate_time=00:00

rotate_error_log_size = 0

rotate_error_log_size = 0

log_file_keep_days = 0

log_file_keep_days = 0

use_connection_pool = false

use_connection_pool = false

connection_pool_max_idle_time = 3600

connection_pool_max_idle_time = 3600

http.server_port=8080

http.server_port=8080

http.check_alive_interval=30

http.check_alive_interval=30

http.check_alive_type=tcp

http.check_alive_type=tcp

澳门金沙国际,http.check_alive_uri=/status.htm

http.check_alive_uri=/status.htm

 

 

计划文件详细声明参考:

安排文件详细评释参考:

 

 

启动tracker: /usr/local/bin/fdfs_trackerd  /etc/fdfs/tracker.conf
 start (start\stop\restart)

启动tracker: /usr/local/bin/fdfs_trackerd  /etc/fdfs/tracker.conf
 start (start\stop\restart)

检测是还是不是运营成功:netstat -lntup|grep fdfs_trackerd

检测是还是不是运维成功:netstat -lntup|grep fdfs_trackerd

澳门金沙国际 17 

澳门金沙国际 18 

 

 

安装开机运行:

安装开机运维:

echo “/usr/bin/fdfs_trackerd  /etc/fdfs/tracker.conf  start” >>
/etc/rc.d/rc.local

echo “/usr/bin/fdfs_trackerd  /etc/fdfs/tracker.conf  start” >>
/etc/rc.d/rc.local

 

 

7、配置storage (192.168.100.106\192.168.100.125)

7、配置storage (192.168.100.106\192.168.100.125)

跻身/etc/fdfs文件夹,执行命令: cp  storage.conf.sample  storage.conf

跻身/etc/fdfs文件夹,执行命令: cp  storage.conf.sample  storage.conf

编辑storage.conf,执行命令: vi storage.conf ,配置成如下:

编制storage.conf,执行命令: vi storage.conf ,配置成如下:

disabled=false

disabled=false

group_name=group1

group_name=group1

bind_addr=

bind_addr=

client_bind=true

client_bind=true

port=23001

port=23001

connect_timeout=30

connect_timeout=30

network_timeout=60

network_timeout=60

heart_beat_interval=30

heart_beat_interval=30

stat_report_interval=60

stat_report_interval=60

base_path=/opt/fastdfs_storage_info

base_path=/opt/fastdfs_storage_info

max_connections=256

max_connections=256

buff_size = 256KB

buff_size = 256KB

accept_threads=1

accept_threads=1

work_threads=4

work_threads=4

disk_rw_separated = true

disk_rw_separated = true

disk_reader_threads = 1

disk_reader_threads = 1

disk_writer_threads = 1

disk_writer_threads = 1

sync_wait_msec=50

sync_wait_msec=50

sync_interval=0

sync_interval=0

sync_start_time=00:00

sync_start_time=00:00

sync_end_time=23:59

sync_end_time=23:59

write_mark_file_freq=500

write_mark_file_freq=500

store_path_count=1

store_path_count=1

store_path0=/opt/fastdfs_storage_data

store_path0=/opt/fastdfs_storage_data

subdir_count_per_path=256

subdir_count_per_path=256

tracker_server=192.168.100.106:22122

tracker_server=192.168.100.106:22122

log_level=info

log_level=info

run_by_group=

run_by_group=

run_by_user=

run_by_user=

allow_hosts=*

allow_hosts=*

file_distribute_path_mode=0

file_distribute_path_mode=0

file_distribute_rotate_count=100

file_distribute_rotate_count=100

fsync_after_written_bytes=0

fsync_after_written_bytes=0

sync_log_buff_interval=10

sync_log_buff_interval=10

sync_binlog_buff_interval=10

sync_binlog_buff_interval=10

sync_stat_file_interval=300

sync_stat_file_interval=300

thread_stack_size=512KB

thread_stack_size=512KB

upload_priority=10

upload_priority=10

if_alias_prefix=

if_alias_prefix=

check_file_duplicate=0

check_file_duplicate=0

file_signature_method=hash

file_signature_method=hash

key_namespace=FastDFS

key_namespace=FastDFS

keep_alive=0

keep_alive=0

use_access_log = false

use_access_log = false

rotate_access_log = false

rotate_access_log = false

access_log_rotate_time=00:00

access_log_rotate_time=00:00

rotate_error_log = false

rotate_error_log = false

error_log_rotate_time=00:00

error_log_rotate_time=00:00

rotate_access_log_size = 0

rotate_access_log_size = 0

rotate_error_log_size = 0

rotate_error_log_size = 0

log_file_keep_days = 0

log_file_keep_days = 0

file_sync_skip_invalid_record=false

file_sync_skip_invalid_record=false

use_connection_pool = false

use_connection_pool = false

connection_pool_max_idle_time = 3600

connection_pool_max_idle_time = 3600

http.domain_name=

http.domain_name=

http.server_port=8888

http.server_port=8888

 

 

配置文件详细表明参考:

安顿文件详细注脚参考:

 

 

启动storage: /usr/local/bin/fdfs_storage  /etc/fdfs/storage.conf  start

启动storage: /usr/local/bin/fdfs_storage  /etc/fdfs/storage.conf  start

检测是不是运营成功:netstat -lntup|grep fdfs_storaged

检测是还是不是运营成功:netstat -lntup|grep fdfs_storaged

 澳门金沙国际 19

 澳门金沙国际 20

检测运转状态:/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

检测运行状态:/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

       查看192.168.100.106:23001 是ACTIVE状态即可

       查看192.168.100.106:23001 是ACTIVE状态即可

 

 

安装开机自动运营:

安装开机自动运行:

echo “/usr/bin/fdfs_trackerd  /etc/fdfs/storage.conf  start” >>
/etc/rc.d/rc.local

echo “/usr/bin/fdfs_trackerd  /etc/fdfs/storage.conf  start” >>
/etc/rc.d/rc.local

 

 

8、安装nginx

8、安装nginx

storage中设置nginx,重如果为着为提供http的造访服务,同时缓解group中storage服务器的一块延迟难点。而tracker中装置nginx,重如若为了提供http访问的反向代理、负载均衡以及缓存服务 

storage中装置nginx,重如果为着为提供http的拜访服务,同时缓解group中storage服务器的一块儿延迟难点。而tracker中安装nginx,紧即使为了提供http访问的反向代理、负载均衡以及缓存服务 

yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl
openssl-devel

yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl
openssl-devel

 

 

a、在storage中安装nginx (192.168.100.106\192.168.100.125)

a、在storage中安装nginx (192.168.100.106\192.168.100.125)

tar -zxvf nginx1.7.8.tar.gz

tar -zxvf nginx1.7.8.tar.gz

tar -zxvf fastdfs-nginx-module_v1.16.tar.gz

tar -zxvf fastdfs-nginx-module_v1.16.tar.gz

cd /root/soft/fastdfs-nginx-module/src

cd /root/soft/fastdfs-nginx-module/src

编写config文件,找到包罗CORE_INCS这一个一行,将路径中local全体去掉,变为CORE_INCS=”$CORE_INCS
/usr/include/fastdfs /usr/include/fastcommon/”

编写config文件,找到包括CORE_INCS那个一行,将路径中local整体去掉,变为CORE_INCS=”$CORE_INCS
/usr/include/fastdfs /usr/include/fastcommon/”

cd nginx1.7.8

cd nginx1.7.8

–prefix=/opt/nginx –add-module=/root/soft/fastdfs-nginx-module/src

–prefix=/opt/nginx –add-module=/root/soft/fastdfs-nginx-module/src

make && make install

make && make install

 

 

编写nginx.conf文件如下:

编排nginx.conf文件如下:

澳门金沙国际 21 

澳门金沙国际 22 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

将http.conf和mime.types拷贝到/etc/fdfs/下,即使不履行这一步,运维nginx时会报错。

将http.conf和mime.types拷贝到/etc/fdfs/下,若是不进行这一步,运转nginx时会报错。

cp /root/soft/fastdfs-5.05/conf/http.conf /etc/fdfs/

cp /root/soft/fastdfs-5.05/conf/http.conf /etc/fdfs/

cp /root/soft/fastdfs-5.05/conf/mime.conf /etc/fdfs/

cp /root/soft/fastdfs-5.05/conf/mime.conf /etc/fdfs/

将mod_fastdfs.conf这些文件拷贝到 /etc/fdfs 目录下

将mod_fastdfs.conf这一个文件拷贝到 /etc/fdfs 目录下

cp /root/soft/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

cp /root/soft/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

编辑mod_fastdfs.conf 文件如下:

编辑mod_fastdfs.conf 文件如下:

connect_timeout=2

connect_timeout=2

network_timeout=30

network_timeout=30

base_path=/opt/fastdfs_storage_info

base_path=/opt/fastdfs_storage_info

load_fdfs_parameters_from_tracker=true

load_fdfs_parameters_from_tracker=true

storage_sync_file_max_delay = 86400

storage_sync_file_max_delay = 86400

use_storage_id = false

use_storage_id = false

storage_ids_filename = storage_ids.conf

storage_ids_filename = storage_ids.conf

tracker_server=192.168.100.106:22122

tracker_server=192.168.100.106:22122

storage_server_port=23001

storage_server_port=23001

group_name=group1

group_name=group1

url_have_group_name = true

url_have_group_name = true

store_path_count=1

store_path_count=1

store_path0=/opt/fastdfs_storage_data

store_path0=/opt/fastdfs_storage_data

log_level=info

log_level=info

log_filename=

log_filename=

response_mode=proxy

response_mode=proxy

if_alias_prefix=

if_alias_prefix=

flv_support = true

flv_support = true

flv_extension = flv

flv_extension = flv

group_count = 1

group_count = 1

[group1]

[group1]

group_name=group1

group_name=group1

storage_server_port=23001

storage_server_port=23001

store_path_count=1

store_path_count=1

store_path0=/opt/fastdfs_storage_data

store_path0=/opt/fastdfs_storage_data

store_path1=/opt/fastdfs_storage_data

store_path1=/opt/fastdfs_storage_data

 

 

布局文件详细表明参考:

配置文件详细注明参考:

 

 

创造软连接:

树立软连接:

ln  -s  /opt/fastdfs_storage_data/data
 /opt/fastdfs_storage_data/data/M00

ln  -s  /opt/fastdfs_storage_data/data
 /opt/fastdfs_storage_data/data/M00

 

 

启动nginx: /opt/nginx/sbin/nginx

启动nginx: /opt/nginx/sbin/nginx

 

 

b、在tracker中安装nginx

b、在tracker中安装nginx

tar -zxvf nginx1.7.8.tar.gz

tar -zxvf nginx1.7.8.tar.gz

tar -zxvf fastdfs-nginx-module_v1.16.tar.gz

tar -zxvf fastdfs-nginx-module_v1.16.tar.gz

cd /root/soft/fastdfs-nginx-module/src

cd /root/soft/fastdfs-nginx-module/src

编纂config文件,找到包涵CORE_INCS那么些一行,将路径中local全部去掉,变为CORE_INCS=”$CORE_INCS
/usr/include/fastdfs /usr/include/fastcommon/”

编纂config文件,找到包涵CORE_INCS这么些一行,将路径中local全体去掉,变为CORE_INCS=”$CORE_INCS
/usr/include/fastdfs /usr/include/fastcommon/”

cd nginx1.7.8

cd nginx1.7.8

–prefix=/opt/nginx –add-module=/root/soft/fastdfs-nginx-module/src
–add-module=/root/soft/ngx_cache_purge-2.1 –with-http_ssl_module
–with-pcre=/root/soft/pcre-8.40 –with-zlib=/root/soft/zlib-1.2.11

–prefix=/opt/nginx –add-module=/root/soft/fastdfs-nginx-module/src
–add-module=/root/soft/ngx_cache_purge-2.1 –with-http_ssl_module
–with-pcre=/root/soft/pcre-8.40 –with-zlib=/root/soft/zlib-1.2.11

make && make install

make && make install

 

 

编纂nginx.conf文件如下:

编写nginx.conf文件如下:

 澳门金沙国际 23

 澳门金沙国际 24

启动nginx:/opt/nginx/sbin/nginx

启动nginx:/opt/nginx/sbin/nginx

 

 

⑨ 、测试并上传文件

九 、测试并上传文件

编制client.conf 文件,编辑内容如下:

编辑client.conf 文件,编辑内容如下:

澳门金沙国际 25 

澳门金沙国际 26 

 

 

 

 

 

 

 

 

 

 

测试上传文件:

测试上传文件:

echo “this is a test file — hello world” >> test.txt

echo “this is a test file — hello world” >> test.txt

/usr/bin/fdfs_test /etc/fdfs/client.conf upload test.txt #上传

/usr/bin/fdfs_test /etc/fdfs/client.conf upload test.txt #上传

变化如下url,并复制到浏览器访问

变动如下url,并复制到浏览器访问

 

 

澳门金沙国际 27

澳门金沙国际 28

 澳门金沙国际 29

 澳门金沙国际 30

澳门金沙国际 31

澳门金沙国际 32

以上测试声明成功,并且两台stroage同步成功了

以上测试注明成功,并且两台stroage同步成功了

 

 

测试负载均衡办法:停掉192.168.100.125仍旧192.168.100.106的storage再拓展上传测试

测试负载均衡办法:停掉192.168.100.125要么192.168.100.106的storage再拓展上传测试

 /usr/local/bin/fdfs_storage  /etc/fdfs/storage.conf  stop

 /usr/local/bin/fdfs_storage  /etc/fdfs/storage.conf  stop

 

 

 

 

10、PHP安装FasfDFS扩张模块

拾、PHP安装FasfDFS伸张模块

cd /root/soft/fastdfs-5.05/client

cd /root/soft/fastdfs-5.05/client

make && make install

make && make install

cd /root/soft/fastdfs-5.05/php_client

cd /root/soft/fastdfs-5.05/php_client

 

 

/usr/local/php/bin/phpize

/usr/local/php/bin/phpize

./configure –with-php-config=/usr/local/php/bin/php-config

./configure –with-php-config=/usr/local/php/bin/php-config

make && make install

make && make install

cd /etc/fdfs

cd /etc/fdfs

vi client.conf

vi client.conf

tracker_server=192.168.100.106:22122 //依照环境填写IP地址及端口号

tracker_server=192.168.100.106:22122 //依照条件填写IP地址及端口号

 

 

在php.ini配置文件中加载fastdfs

在php.ini配置文件中加载fastdfs

cat fastdfs_client.ini >> /usr/local/php/etc/php.ini

cat fastdfs_client.ini >> /usr/local/php/etc/php.ini

 

 

新增nginx配置如下:

新增nginx配置如下:

server {

server {

listen 8080;

listen 8080;

server_name localhost;

server_name localhost;

access_log /data/wwwlogs/access_nginx_cms.log combined;

access_log /data/wwwlogs/access_nginx_cms.log combined;

root /opt/nginx/html;

root /opt/nginx/html;

index index.html index.htm index.php forum.php;

index index.html index.htm index.php forum.php;

location /nginx_status {

location /nginx_status {

access_log off;

access_log off;

allow 127.0.0.1;

allow 127.0.0.1;

deny all;

deny all;

}

}

error_page 404 /404.html;

error_page 404 /404.html;

location ~ [^/]\.php(/|$) {

location ~ [^/]\.php(/|$) {

fastcgi_pass 192.168.100.106:9000;

fastcgi_pass 192.168.100.106:9000;

fastcgi_index index.php;

fastcgi_index index.php;

include /usr/local/nginx/conf/fastcgi_params;

include /usr/local/nginx/conf/fastcgi_params;

include fastcgi.conf;

include fastcgi.conf;

}

}

location \(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {

location \(gif|jpg|jpeg|png|bmp|swf|flv|ico)$ {

expires 30d;

expires 30d;

access_log off;

access_log off;

}

}

location \(js|css)?$ {

location \(js|css)?$ {

expires 7d;

expires 7d;

access_log off;

access_log off;

}

}

}

}

 

 

重启nginx和php

重启nginx和php

/opt/nginx/sbin/nginx -s reload

/opt/nginx/sbin/nginx -s reload

或者

或者

pkill -9 nginx

pkill -9 nginx

/opt/nginx/sbin/nginx

/opt/nginx/sbin/nginx

 

 

kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`

kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`

或者

或者

pkill -9 php

pkill -9 php

/usr/local/php/sbin/php-fpm

/usr/local/php/sbin/php-fpm

 

 

测试:在浏览器中输入:

测试:在浏览器中输入:

倘使现身似乎于以下截图则意味着成功

假定出现类似于以下截图则表示成功

 澳门金沙国际 33

 澳门金沙国际 34

 

 

相关文章