unbuntu安装FastDFS遇到的问题以及配置

2024-02-14 05:38

本文主要是介绍unbuntu安装FastDFS遇到的问题以及配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


fastdfs与nginx整合
1)执行下面编译设置

./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/nginx.conf --add-module=/usr/local/fastdfs-nginx-module/src 



(说明:很多编译安装的说明都没有设置conf-path,但是我没有设置的话,在make install 阶段会出现

cp: `conf/koi-win' and `/usr/local/nginx/conf/koi-win' are the same file错误)




1.

首先是准备工作:需要我们下载两个文件,

FastDFS_v3.06.tar.gz

libevent-2.0.17-stable.tar.gz

这里就不赘述他们的安装过程了,可是注意一点儿就是如果有需要HTTP连接的需要在make.sh中将#WITH_HTTPD=1改成WITH_HTTPD=1,然后在安装,当我在安装FastDFS时报错了:

经过在网上的查找得知:其实是不同的系统中pthread位置不一样,做法就是找到你的系统中所需要的libpthread.so文件位置,直接find就可以找到了;

[html]  view plain copy


  1. root@zhou:~# find / -name 'libpthread.a'  
  2. /usr/lib/i386-linux-gnu/xen/libpthread.a  
  3. /usr/lib/i386-linux-gnu/libpthread.a  
  4. root@zhou:~# find / -name 'libpthread.so'  
  5. /usr/lib/i386-linux-gnu/libpthread.so  

接着直接在make.sh中找到这句话然后替换掉就可以了:

[html]  view plain copy
  1. if [ -f /usr/lib/libpthread.so ] || [ -f /usr/local/lib/libpthread.so ] || [ -f /usr/lib64/libpthread.so ] || [ -f /usr/lib/libpthread.a ] || [ -f /usr/local/lib/libpthread.a ] || [ -f /usr/lib64/libpthread.a ]; then   LIBS="$LIBS -lpthread"   

然后在进行编译就OK了。


2.

执行

./make.sh install

发生

ln: failed to create symbolic link ‘/usr/lib64/libfastcommon.so’: No such file or directory
ln: failed to create symbolic link ‘/usr/lib64/libfdfsclient.so’: No such file or directory

解决

修改文件,client/fdfs_link_library.sh.in

复制代码
#查找:
ln -fs $TARGET_LIB/libfastcommon.so.1 /usr/lib64/libfastcommon.so
ln -fs $TARGET_LIB/libfdfsclient.so.1 /usr/lib64/libfdfsclient.so#替换成:
ln -fs $TARGET_LIB/libfastcommon.so.1 /usr/lib/libfastcommon.so
ln -fs $TARGET_LIB/libfdfsclient.so.1 /usr/lib/libfdfsclient.so


3.    ./make.sh: line 187: /sbin/chkconfig: No such file or directory


解决:安装chkconfig, apt-get install chkconfig


4.cp: cannot create regular file `/etc/rc.d/init.d/': No such file or directory


在make.sh中将`/etc/rc.d/init.d/': 改为‘/etc/init.d/’



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:轮训策略 1:主上传storage作为主下载服务器 download_server=0#选择文件上传到storage中的哪个(目录/挂载点),storage可以有多个存放文件的base path 0:轮训策略 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检测storage http服务状态 http.check_alive_uri=/status.html#if need find content type from file extension name http.need_find_content_type=true#用include包含进http的其他设置 ##include http.conf

检测状态

netstat -tupln|grep tracker #可以看到如下: tcp 0 0 0.0.0.0:22122 0.0.0.0:* LISTEN 18559/fdfs_trackerd


storage.conf配置文件分析:

#同tracker.conf disabled=false#这个storage服务器属于那个group group_name=group1#同tracker.conf bind_addr=#连接其他服务器时是否绑定地址,bind_addr配置时本参数才有效 client_bind=true#同tracker.conf port=23000 connect_timeout=30 network_timeout=60#主动向tracker发送心跳检测的时间间隔 heart_beat_interval=30#主动向tracker发送磁盘使用率的时间间隔 stat_report_interval=60#同tracker.conf base_path=/opt/fdfs max_connections=256#接收/发送数据的buff大小,必须大于8KB buff_size = 256KB#同tracker.conf work_threads=4#磁盘IO是否读写分离 disk_rw_separated = true#是否直接读写文件,默认关闭 disk_rw_direct = false#混合读写时的读写线程数 disk_reader_threads = 1 disk_writer_threads = 1#同步文件时如果binlog没有要同步的文件,则延迟多少毫秒后重新读取,0表示不延迟 sync_wait_msec=50#同步完一个文件后间隔多少毫秒同步下一个文件,0表示不休息直接同步 sync_interval=0#表示这段时间内同步文件 sync_start_time=00:00 sync_end_time=23:59#同步完多少文件后写mark标记 write_mark_file_freq=500#storage在存储文件时支持多路径,默认只设置一个 store_path_count=1#配置多个store_path路径,从0开始,如果store_path0不存在,则base_path必须存在 store_path0=/opt/fdfs #store_path1=/opt/fastdfs2#subdir_count * subdir_count个目录会在store_path下创建,采用两级存储 subdir_count_per_path=256#设置tracker_server tracker_server=x.x.x.x:22122#同tracker.conf log_level=info run_by_group= run_by_user= allow_hosts=*#文件在数据目录下的存放策略,0:轮训 1:随机 file_distribute_path_mode=0#当问及是轮训存放时,一个目录下可存放的文件数目 file_distribute_rotate_count=100#写入多少字节后就开始同步,0表示不同步 fsync_after_written_bytes=0#刷新日志信息到disk的间隔 sync_log_buff_interval=10#同步storage的状态信息到disk的间隔 sync_stat_file_interval=300#线程栈大小 thread_stack_size=512KB#设置文件上传服务器的优先级,值越小越高 upload_priority=10#是否检测文件重复存在,1:检测 0:不检测 check_file_duplicate=0#当check_file_duplicate设置为1时,次值必须设置 key_namespace=FastDFS#与FastDHT建立连接的方式 0:短连接 1:长连接 keep_alive=0#同tracker.conf http.disabled=false http.domain_name= http.server_port=8888 http.trunk_size=256KB http.need_find_content_type=true ##include http.conf


启动storage进程

fdfs_storaged /etc/fdfs/storage.conf (必须先开启tracker服务器)


检测状态

netstat -tupln | grep storage #结果如下: tcp 0 0 0.0.0.0:23000 0.0.0.0:* LISTEN 17138/fdfs_storaged


client.conf配置文件分析:

#同tracker.conf connect_timeout=30 network_timeout=60 base_path=/opt/fdfs tracker_server=x.x.x.x:22122 log_level=info http.tracker_server_port=8080


测试上传文件:

fdfs_upload_file /etc/fdfs/client.conf client.conf #返回如下字符串 group1/M00/00/00/CgEGflAqaFW4hENaAAACo8wrbSE16.conf


启动tracker进程

fdfs_trackerd /etc/fdfs/tracker.conf(安装目录下的配置文件路径)


这篇关于unbuntu安装FastDFS遇到的问题以及配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/707631

相关文章

解决IDEA报错:编码GBK的不可映射字符问题

《解决IDEA报错:编码GBK的不可映射字符问题》:本文主要介绍解决IDEA报错:编码GBK的不可映射字符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录IDEA报错:编码GBK的不可映射字符终端软件问题描述原因分析解决方案方法1:将命令改为方法2:右下jav

MyBatis模糊查询报错:ParserException: not supported.pos 问题解决

《MyBatis模糊查询报错:ParserException:notsupported.pos问题解决》本文主要介绍了MyBatis模糊查询报错:ParserException:notsuppo... 目录问题描述问题根源错误SQL解析逻辑深层原因分析三种解决方案方案一:使用CONCAT函数(推荐)方案二:

Win安装MySQL8全过程

《Win安装MySQL8全过程》:本文主要介绍Win安装MySQL8全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Win安装mysql81、下载MySQL2、解压文件3、新建文件夹data,用于保存数据库数据文件4、在mysql根目录下新建文件my.ini

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发

Redis 热 key 和大 key 问题小结

《Redis热key和大key问题小结》:本文主要介绍Redis热key和大key问题小结,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、什么是 Redis 热 key?热 key(Hot Key)定义: 热 key 常见表现:热 key 的风险:二、

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

Spring 中的循环引用问题解决方法

《Spring中的循环引用问题解决方法》:本文主要介绍Spring中的循环引用问题解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录什么是循环引用?循环依赖三级缓存解决循环依赖二级缓存三级缓存本章来聊聊Spring 中的循环引用问题该如何解决。这里聊

Spring Boot中JSON数值溢出问题从报错到优雅解决办法

《SpringBoot中JSON数值溢出问题从报错到优雅解决办法》:本文主要介绍SpringBoot中JSON数值溢出问题从报错到优雅的解决办法,通过修改字段类型为Long、添加全局异常处理和... 目录一、问题背景:为什么我的接口突然报错了?二、为什么会发生这个错误?1. Java 数据类型的“容量”限制

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

关于MongoDB图片URL存储异常问题以及解决

《关于MongoDB图片URL存储异常问题以及解决》:本文主要介绍关于MongoDB图片URL存储异常问题以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录MongoDB图片URL存储异常问题项目场景问题描述原因分析解决方案预防措施js总结MongoDB图