FastDFS 504 + nginx 集群安装配置手册Word文件下载.docx
- 文档编号:17633235
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:17
- 大小:95.49KB
FastDFS 504 + nginx 集群安装配置手册Word文件下载.docx
《FastDFS 504 + nginx 集群安装配置手册Word文件下载.docx》由会员分享,可在线阅读,更多相关《FastDFS 504 + nginx 集群安装配置手册Word文件下载.docx(17页珍藏版)》请在冰豆网上搜索。
3、client.conf配置说明18
一、安装
(一)下载FastDFS安装包
FastDFS官方论坛:
http:
//www.csource.org
下载1:
下载2:
备:
Google网站不容易访问,建议采用下载1方式下载。
本手册使用RedHat6.5x86_64版操作系统,按照以下网络结构进行部署:
所需要下载的压缩包有:
FastDFS源代码:
FastDFS_v5.04.tar.gz
FastDFS安装依赖包:
libfastcommon-master.zip
nginx模块源代码:
fastdfs-nginx-module_v1.15.tar.gz
nginx服务器源代码:
nginx-1.6.2.tar.gz
nginx依赖的pcre库源代码:
pcre-8.34.tar.gz
nginx依赖的zlib库源代码:
zlib-1.2.8.tar.gz
(二)安装libfastcommon
1.安装
●FastDFS_v5.04安装需要依赖libfastcommon,所以需要先安装libfastcommon。
首先在每台服务器上解压libfastcommon,然后进入libfastcommon-master目录执行如下命令:
./make.sh
./make.shinstall
执行结果如下:
libfastcommon.so被安装到了/usr/lib64目录下,与FastDFS程序设置的主目录/usr/local/lib不同,需要创建libfastcommon.so的软链接。
执行如下命令:
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
(三)安装Tracker
1、首先在每台服务器上解压FastDFS_v5.04.tar.gz,执行命令:
tar–vxzfFastDFS_v5.04.tar.gz
2、在172.16.1.202服务器上安装tracker,进入FastDFS目录进行编译安装,命令如下:
./make.sh
安装完成之后,会在/etc/fdfs目录下有三个配置文件,tracker.conf.sample、storage.conf.sample、client.conf.sample。
需要分别将文件重命名为tracker.conf、storage.conf、client.conf。
tracker.conf-----tracker的配置文件
storage.conf-----storage的配置文件
client.conf----client的配置文件
安装完成之后,接下来就需要进行tracker的配置了。
2.配置
1、修改/etc/fdfs目录下的tracker.conf.sample文件,vim/etc/fdfs/tracker.conf文件,主要修改如下内容:
base_path=/home/xuerscc1/fdfs
其他的配置信息可以根据实际情况修改调优。
关于tracker.conf配置文件的说明请见附录。
3.启动
在/etc/fdfs/目录下执行tracker的启动命令:
fdfs_trackerdtracker.conf
执行命令之后,可以检查tracker是否已经启动成功,可以执行:
netstat–tupln|greptracker来查看tracker所配置的端口是否已经处于监听状态。
(四)安装storage
1、安装
下面以group1和group2为例安装storage。
1、分别在172.16.1.204(group1)和172.16.1.206(group2)服务器上安装FastDFS,具体安装步骤请参照tracker的安装方式。
2、配置
1、修改服务器中/etc/fdfs/目录下的storage.conf.sample文件,并且重命名文件为storage.conf。
主要需要配置当前storage所处的group以及group对应的tracker服务器和端口信息。
vim/etc/fdfs/storage.conf
172.16.1.204(group1):
group_name=group1
base_path=/home/xuerscc1/fdfs--数据和日志的存储目录
store_path0=/home/xuerscc1/fdfs
tracker_server=172.16.1.202:
22122
172.16.1.206(group2):
group_name=group2
base_path=/home/xuerscc2/fdfs
store_path0=/home/xuerscc2/fdfs
3、运行
1、在运行storage之前首先需要保证tracker所在服务器与storage所在服务器之间端口的防火墙已经关闭。
2、启动storage:
fdfs_storagedstorage.conf
3、检测storage是否启动成功可以通过storage的监听端口判断:
netstat–tupln|grepstorage
也可查看storage的日志是否启动成功或是否有错误。
另外每个group中所有storage的端口号必须一致。
(五)在storage上安装nginx
在storage上安装的nginx主要为了提供http的访问服务,同时解决group中storage服务器的同步延迟问题。
主要依赖模块有nginx模块源代码:
fastdfs-nginx-module_v1.15.tar.gz、nginx服务器源代码:
首先在172.16.1.204上安装nginx,使用nginx-1.6.2.tar.gz源代码包以及FastDFS的nginx插件fastdfs-nginx-module_v1.15.tar.gz。
1、解压fastdfs-nginx-module_v1.15.tar.gz
fastdfs-nginx-module模块主要作用如下:
FastDFS通过Tracker服务器,将文件放在Storage服务器存储,
但是同组group之间的服务器需要复制文件,有延迟的问题.
假设Tracker服务器将文件上传到了172.16.1.203,文件ID已经返回客户端之后,后台会将这个文件复制到172.16.1.204,如果复制没有完成,客户端就用这个文件ID在172.16.1.204取文件,肯定会出现错误,此时fastdfs-nginx-module可以重定向连接到源服务器(172.16.1.203)取文件,避免客户端由于复制延迟的问题,出现错误。
2、修改fastdfs-nginx-module的config文件
原来的内容是:
CORE_INCS=
"
$CORE_INCS/usr/local/include/fastdfs/usr/local/include/fastcommon/"
vim/home/nginx/fastdfs-nginx-module/src/config,修改为
CORE_INCS="
$CORE_INCS
/usr/include/fastdfs/usr/include/fastcommon"
。
3、安装Nginx
(1)、解压nginx源码包,并创建用户nginx
(2)、安装nginx的依赖包lib,yum安装
yum-yinstallgccautomakeautoconflibtoolmakegcc-c++pcre*zlibopensslopenssl-devel
(3)、以root账户执行如下命令:
./configure\
--prefix=/home/nginx/nginx-1.6.2\
--sbin-path=/home/nginx/nginx-1.6.2/nginx\
--conf-path=/home/nginx/nginx-1.6.2/nginx.conf\
--pid-path=/home/nginx/nginx-1.6.2/nginx.pid\
--with-http_ssl_module\
--add-module=/home/nginx/fastdfs-nginx-module/src
(4)、执行nginx的编译安装
make-j`cat/proc/cpuinfo|grepprocessor|wc-l`&
&
makeinstall
至此nginx以及FastDFS的nginx插件模块安装完成。
1、复制fastdfs-nginx-module源码中的配置文件到/etc/fdfs
cp/home/nginx/fastdfs-nginx-module/src/mod_fastdfs.conf/etc/fdfs
修改该配置文件:
tracker_server=172.16.1.203:
base_path=/home/xuerscc1/fdfs
2、复制FastDFS的配置到/etc/fdfs
cphttp.confmime.types/etc/fdfs
3、修改nginx的配置文件,增加http下载的配置
location/group1/M00{
root/home/xuerscc1/fdfs
ngx_fastdfs_module;
}
4、在/home/xuerscc1/fdfs目录下创建软连接,将其链接到实际存放数据的目录.
ln-sdata/M00
●至此,nginx以及FastDFS插件模块设置完成。
4、运行
1、运行nginx之前,先要把防火墙中对应的端口打开(本例中为8080)。
2、启动nginx,启动命令:
/usr/local/nginx/sbin/nginx
3、确认启动是否成功。
(查看是否对应端口8080是否开始监听)或者也可查看nginx的日志是否启动成功或是否有错误。
可以打开浏览器,直接访问http:
//172.16.1.202,查看是否弹出nginx欢迎页面。
(六)在tracker上安装nginx
在tracker上安装的nginx主要为了提供http访问的反向代理、负载均衡以及缓存服务。
具体安装步骤请参考storage上nginx的安装方式
2、配置
1、编辑/usr/local/nginx/conf配置文件目录下的nginx.conf,设置负载均衡以及缓存。
worker_processes4;
#根据CPU核心数而定
events{
worker_connections65535;
#最大链接数
useepoll;
#新版本的Linux可使用epoll加快处理性能
http{
#设置缓存参数
server_names_hash_bucket_size128;
client_header_buffer_size32k;
large_client_header_buffers432k;
client_max_body_size300m;
sendfileon;
tcp_nopushon;
proxy_redirectoff;
proxy_set_headerHost$http_host;
proxy_set_headerX-Real-IP$remote_addr;
proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;
proxy_connect_timeout90;
proxy_send_timeout90;
proxy_read_timeout90;
proxy_buffer_size16k;
proxy_buffers464k;
proxy_busy_buffers_size128k;
proxy_temp_file_write_size128k;
#设置缓存存储路径、存储方式、分配内存大小、磁盘最大空间、缓存期限
proxy_cache_path/var/cache/nginx/proxy_cachelevels=1:
2keys_zone=http-cache:
500mmax_size=10ginactive=30d;
proxy_temp_path/var/cache/nginx/proxy_cache/tmp;
#设置group1的服务器
upstreamfdfs_group1{
server172.16.1.203:
8080weight=1max_fails=2fail_timeout=30s;
server172.16.1.204:
}
#设置group2的服务器
upstreamfdfs_group2{
server172.16.1.205:
server172.16.1.206:
#设置group3的服务器
upstreamfdfs_group3{
server172.16.1.207:
server172.16.1.208:
server{
#设置服务器端口
listen8080;
#设置group1的负载均衡参数
location/group1/M00{
proxy_next_upstreamhttp_502http_504errortimeoutinvalid_header;
proxy_cachehttp-cache;
proxy_cache_valid20030412h;
proxy_cache_key$uri$is_args$args;
proxy_passhttp:
//fdfs_group1;
expires30d;
#设置group2的负载均衡参数
location/group2/M00{
//fdfs_group2;
#设置group3的负载均衡参数
location/group3/M00{
//fdfs_group3;
#设置清除缓存的访问权限
location~/purge(/.*){
allow127.0.0.1;
allow172.16.1.0/24;
denyall;
proxy_cache_purgehttp-cache$1$is_args$args;
}
2、至此,nginx以及nginxcachepurge插件模块设置完成。
1.运行
二、测试
1、上传文件测试
执行命令:
fdfs_upload_fileclient.configfileName
2、文件下载测试
fdfs_download_filefileIDlocalFileName
三、附录
1、tracker.conf配置说明
#配置tracker.conf这个配置文件是否生效,因为在启动fastdfs服务端进程时需要指定配置文件,所以需要使次配置文件生效。
false是生效,true是屏蔽。
disabled=false
#程序的监听地址,如果不设定则监听所有地址
bind_addr=
#tracker监听的端口
port=22122
#链接超时设定
connect_timeout=30
#tracker在通过网络发送接收数据的超时时间
network_timeout=60
#数据和日志的存放地点
base_path=/opt/fdfs
#服务所支持的最大链接数
max_connections=256
#工作线程数一般为cpu个数
work_threads=4
#在存储文件时选择group的策略,0:
轮训策略1:
指定某一个组2:
负载均衡,选择空闲空间最大的group
store_lookup=2
#如果上面的store_lookup选择了1,则这里需要指定一个group
#store_group=group2
#在group中的哪台storage做主storage,当一个文件上传到主storage后,就由这台机器同步文件到group内的其他storage上,0:
轮训策略1:
根据ip地址排序,第一个2:
根据优先级排序,第一个
store_server=0
#选择那个storage作为主下载服务器,0:
主上传storage作为主下载服务器
download_server=0
#选择文件上传到storage中的哪个(目录/挂载点),storage可以有多个存放文件的basepath0:
轮训策略2:
负载均衡,选择空闲空间最大的
store_path=0
#系统预留空间,当一个group中的任何storage的剩余空间小于定义的值,整个group就不能上传文件了
reserved_storage_space=4GB
#日志信息级别
log_level=info
#进程以那个用户/用户组运行,不指定默认是当前用户
run_by_group=
run_by_user=
#允许那些机器连接tracker默认是所有机器
allow_hosts=*
#设置日志信息刷新到disk的频率,默认10s
sync_log_buff_interval=10
#检测storage服务器的间隔时间,storage定期主动向tracker发送心跳,如果在指定的时间没收到信号,tracker人为storage故障,默认120s
check_active_interval=120
#线程栈的大小,最小64K
thread_stack_size=64KB
#storage的ip改变后服务端是否自动调整,storage进程重启时才自动调整
storage_ip_changed_auto_adjust=true
#storage之间同步文件的最大延迟,默认1天
storage_sync_file_max_delay=86400
#同步一个文件所花费的最大时间
storage_sync_file_max_time=300
#是否用一个trunk文件存储多个小文件
use_trunk_file=false
#最小的solt大小,应该小于4KB,默认256bytes
slot_min_size=256
#最大的solt大小,如果上传的文件小于默认值,则上传文件被放入trunk文件中
slot_max_size=16MB
#trunk文件的默认大小,应该大于4M
trunk_file_size=64MB
#http服务是否生效,默认不生效
http.disabled=false
#http服务端口
http.server_port=8080
#检测storage上http服务的时间间隔,<
=0表示不检测
http.check_alive_interval=30
#检测storage上http服务时所用请求的类型,tcp只检测是否可以连接,http必须返回200
http.check_alive_type=tcp
#通过url检测storagehttp服务状态
http.check_alive_uri=/status.html
#ifneedfindcontenttypefromfileextensionname
http.need_find_content_type=true
#用include包含进http的其他设置
##includehttp.conf
2、storage.conf配置说明
#同tracker.conf
#这个storage服务器属于那个group
#连接其他服务器时是否绑定地址
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FastDFS 504 nginx 集群安装配置手册 集群 安装 配置 手册