ubuntu16.04安装FastDFS-5.08

安装之前先安装所需要的插件

libevent

http://libevent.org/ 下载 libevent-2.0.22-stable.tar

libfastcommon

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

fastdfs

https://jaist.dl.sourceforge.net/project/fastdfs/FastDFS%20Server%20Source%20Code/FastDFS%20Server%20with%20PHP%20Extension%20Source%20Code%20V5.08/FastDFS_v5.08.tar.gz

一.安装libevent

https://github.com/libevent/libevent/releases/download/release-2.1.10-stable/libevent-2.1.10-stable.tar.gz
解压;tar -zxvf libevent-2.0.22-stable.tar.gz
进入目录;
./configure --prefix=/usr 配置目录
make
make install
验证 ls -al /usr/lib |grep libevent
在这里插入图片描述

二.安装libfastcommon

wget https://github.com/happyfish100/libfastcommon/archive/master.zip
  unzip libfastcommon-master.zip
  cd  libfastcommon-master 
  ./make.sh
  ./make.sh install

把/usr/lib64/libfastcommon.so文件向/usr/lib/下复制一份
cp /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
或者
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
在这里插入图片描述

三.安装fastdfs

 解压 tar  -zxvf  FastDFS.tar.gz
  cd FastDFS
  ./make.sh
  ./make.sh install

在这里插入图片描述

四.配置 tracker.conf

  cd /etc/fdfs/
  cp tracker.conf.sample tracker.conf
  vi tracker.conf
  base_path=/data/fastdfs/tracker #设置 tracker 的数据文件和日志目录(需预先创建) mkdir -p      /home/fastdfs/tracker 
  store_group=group1   #修改组名

修改http端口
http.server_port=8080 -> http.server_port=8090

http支持
##include http.conf -> #include http.conf (没有找到##的话,直接新增)

绑定IP
bind_addr=192.168.10.75

将http.conf文件拷贝到/etc/fdfs目录下

cp /root/FastDFS/conf/http.conf /etc/fdfs/ (如果安装后默认存在的话,这一步就不用处理了)

注:为了支持http,必须将这个文件拷贝到此目录

启动tracker服务器

fdfs_trackerd /etc/fdfs/tracker.conf 

至此tracker server已经启动成功

查看进程: ps -ef|grep fdfs

停止tracker server

stop.sh /etc/fdfs/tracker.conf

五.配置及启动Storage Server

配置 storage.conf
cp storage.conf.sample storage.conf
vi storage.conf
group_name=group1 #组名,根据实际情况修改
base_path=/home/fastdfs/storage #设置 storage 的日志目录(需预先创建)mkdir -p /home/fastdfs/storage ,文件的存储位置,在一台storage server上可以指定多个存储位置。

store_path0=/home/yuqing/fastdfs -> /home/fastdfs

store_path1=/home/yuqing/fastdfs -> /home/fastdfs1

store_path2=/home/yuqing/fastdfs -> /home/fastdfs2

store_path_count=1 #存储路径个数,需要和 store_path 个数匹配。
store_path0=/home/fastdfs/storage/datas #存储路径(需预先创建)mkdir -p /home/fastdfs/storage/datas
tracker_server=10.10.10.81:22122 #tracker 服务器的 IP 地址和端口号

启动storage服务器

启动storage时需要先启动tracker:

fdfs_trackerd /etc/fdfs/tracker.conf
fdfs_storaged /etc/fdfs/storage.conf
停止storagm命令 serverstop.sh /etc/fdfs/storage.conf

至此storage server已经启动成功
如果执行完命令没有卡住就代表启动成功了,如果卡住了,无法进入下一个命令行,那就是启动失败了,按ctrl+c可以进入下一个命令行。

查看进程: ps -ef|grep fdfs
启动失败后,可以去/home/fastdfs/logs中查看日志。

storage启动失败的理由是:storage_ip_changed_dealer.c, line: 180, connect to tracker server 192.168.10.75:22122 fail, errno: 111, error info: Connection refused

这个错误说明连接到tracker失败了,说明肯定是防火墙拦截了,我直接关闭防火墙就成功了。执行停止服务和禁止开机自启就可以了。

注意 :多个storage

如果要扩展增加storage,可以直接新增storage服务器,配置同上,绑定tracker即可。

六.配置 client.conf

FastDFS安装包中,自带了客户端程序,通过程序可以进行文件上传。在使用这个客户端程序之前,首先需要配置client.conf,然后再进行文件上传及下载。
#/etc/fdfs/client.conf

 cp client.conf.sample client.conf
  vi client.conf
  base_path=/data/fastdfs/fdfs_client        # 日志路径
  tracker_server=172.16.1.40:22122         # 追踪服务器的IP,有多个服务器可以另一行
http.tracker_server_port=8080

##include http.conf ->#include http.conf

启动命令

启动 fdfs_trackerd /etc/fdfs/tracker.conf
启动 fdfs_storaged /etc/fdfs/storage.conf

在这里插入图片描述
重启
[root@fedora15 user]#/usr/local/bin/restart.sh /usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf
[root@fedora15 user]#/usr/local/bin/restart.sh /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf

root@ubuntu:/etc/fdfs# /usr/local/bin/restart.sh /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
root@ubuntu:/etc/fdfs# /usr/local/bin/restart.sh /usr/bin/fdfs_storaged /etc/fdfs/storage.conf

在这里插入图片描述
在这里插入图片描述
路径不对,会报下面的错误
在这里插入图片描述
停止
直接kill即可让server进程正常退出,可以使用killall命令,例如:

killall fdfs_trackerd 
killall fdfs_storaged 

测试上传
将/etc/fdfs/client.conf /etc/a.jpg中的测试图片anti-steal.jpg上传到FastDFS

fdfs_upload_file /etc/fdfs/client.conf /etc/a.jpg
root@ubuntu:~# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /etc/a.jpg

如果没有报错,而且显示出file url就代表上传文件成功,即fastdfs功能正常。
在这里插入图片描述
测试

/usr/bin/fdfs_test /etc/fdfs/client.conf upload anti-steal.jpg

可以看到上传图片生成一个特定的路径:example file url: http://192.168.25.133/group1/M00/00/00/wKiJT1lPaw6ALcfQAABdrZgsqUU733.jpg
在这里插入图片描述

FastDFS中fdfs_trackerd和fdfs_storaged的启动、重启、终止命令

重启:

sudo /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
sudo /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

在这里插入图片描述
查看服务是否启动成功
root@ubuntu:~# ps -ajx|grep fdfs
在这里插入图片描述
终止:

sudo /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf stop
sudo /usr/bin/fdfs_storaged /etc/fdfs/storage.conf stop

注意点:
我们要是使用终止命令或者使用 kill -9 fdfs进程id 来终结fdfs_storaged服务的,然后用上面的启动命令是启动不了的,因为log日志问题,会出现下面的错误

一般在我们跟换ip地址的时候,重启fdfs服务,就使用重启命令就行。

七:安装fastdfs-nginx-module(安装之前已经安装好nginx。地址:nginx源码安装)

下载 fastdfs-nginx-module_v1.16.tar.gz

地址:https://sourceforge.net/projects/fastdfs/files/FastDFS%20Nginx%20Module%20Source%20Code/
https://jaist.dl.sourceforge.net/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz

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

  1. 修改文件 xx/fastdfs-nginx-module_v1.16/src/config, 去除CORE_INCS 中的local , 因为fastdfs 和 fastcommon 在/usr/include
  2. 进入nginx 源码目录:cd /home/mirror/software/java/nginx/nginx-1.11.2
  3. 执行命令:./configure --add-module=/home/mirror/software/java/nginx/fastdfs-nginx-module/src
    在这里插入图片描述
  4. 执行命令: make
  5. 执行命令: make install
    在这里插入图片描述
    八. fastdfs里nginx配置文件
    cd /usr/local/src/fastdfs-nginx-module/src
    cp mod_fastdfs.conf /etc/fdfs
    cd /usr/local/src/FastDFS/conf/
    cp anti-steal.jpg http.conf mime.types /etc/fdfs

九. 配置mod_fastdfs.conf,配置文件加入

cd /etc/fdfs/
vim mod_fastdfs.conf
base_path=/home/fastdfs/storage #保存日志目录
tracker_server=10.10.10.80:22122 #tracker 服务器的 IP 地址以及端口号
storage_server_port=23000 #storage服务器的端口号
group_name=group1 #当前服务器的group名
url_have_group_name = true #文件url中是否有group 名
store_path_count=1 #存储路径个数,需要和store_path 个数匹配
store_path0=/data/fastdfs/storage #存储路径,没有就mkdir -p /data/fastdfs/storage
group_count = 1 #设置组的个数
#然后在末尾添加分组信息,目前只有一个分组,就只写一个
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/data/fastdfs/storage

十.nginx配置文件加入

root@ubuntu:/usr/local/src/nginx-1.6.2/conf# vi nginx.conf
 location ~ /group[1-3]/M00 {
                root /data2/;
                ngx_fastdfs_module;
      }

在这里插入图片描述
启动nginx /usr/local/nginx/sbin/nginx
在这里插入图片描述
常见报错 :
1、重启报错

root@ubuntu:/usr/local/bin# /usr/bin/restart.sh /usr/bin/fdfs_trackerd stop

starting fdfs_trackerd ...
[2019-12-03 09:42:16] ERROR - file: shared_func.c, line: 1080, /usr/local/bin/stop is not a regular file
[2019-12-03 09:42:16] ERROR - file: process_ctrl.c, line: 266, load conf file "stop" fail, ret code: 22

解决办法 :
进入安装目录,重新make.sh,make.sh install后

2、sudo service fdfs_storaged start 命令启动后,ps-ajx|grep fdfs 查看不到 fdfs_storaged启动信息

可能原因1:

修改tracker_server=ip地址:22122

ip地址不要写 127.0.0.1,要写(ifconfig命令后显示的那个ip地址)

3、检查trackerd.log发现如下报错:
root@ubuntu:/home/fastdfs/storage/logs# cat storaged.log

[2019-12-03 13:57:16] INFO - file: tracker_client_thread.c, line: 310, successfully connect to tracker server 192.168.1.132:22122, as a tracker client, my ip is 192.168.1.116
[2019-12-03 13:57:24] ERROR - file: storage_ip_changed_dealer.c, line: 180, connect to tracker server 192.168.209.121:22122 fail, errno: 110, error info: Connection timed out
[2019-12-03 13:57:47] ERROR - file: tracker_proto.c, line: 48, server: 192.168.1.132:22122, response status 11 != 0
[2019-12-03 13:58:04] CRIT - file: fdfs_storaged.c, line: 474, catch signal 15, program exiting...
[2019-12-03 13:58:04] ERROR - file: tracker_client_thread.c, line: 570, connect to tracker server 192.168.209.121:22122 fail, try count: 242, errno: 110, error info: Connection timed out
[2019-12-03 13:58:04] INFO - exit normally.

在这里插入图片描述
解决办法 :
查看防火墙状态 : sudo ufw status
1、关闭防火墙:sudo ufw deny
2、关闭开机启动:sudo ufw default deny
inactive状态是防火墙关闭状态 active是开启状态。
已经关闭了
在这里插入图片描述
4、storage启动失败

root@ubuntu:/etc/fdfs# fdfs_storaged storage.conf
root@ubuntu:/etc/fdfs# [2019-12-04 09:30:37] ERROR - file: shared_func.c, line: 1067, file /storage.conf not exist
[2019-12-04 09:30:37] ERROR - file: storage_func.c, line: 1076, load conf file "storage.conf" fail, ret code: 2
[2019-12-04 09:30:37] CRIT - exit abnormally!

解决办法:
最后把设置文件移到/etc/fdfs下,再执行就好了

fdfs_storaged /etc/fdfs/storage.conf 

#进入nginx启动目录
cd /usr/local/nginx/sbin

启动nginx

在这里插入图片描述

参考链接 :
https://blog.csdn.net/u014230881/article/details/78537708

FastDFS中fdfs_trackerd和fdfs_storaged的启动、重启、终止命令 :https://blog.csdn.net/weixin_40576010/article/details/88900810
https://blog.csdn.net/tiexhehongfei/article/details/80013528
FastDFS安装使用教程 :http://blog.sina.com.cn/s/blog_13887bf130102xnjl.html
FastDFS常见配置和安装错误问题 :

FastDFS与Nginx的搭建及遇到的问题 :https://blog.csdn.net/u014800380/article/details/73744146
ubuntu16.04+fastdfs+nginx分布式文件系统 : https://blog.csdn.net/hy245120020/article/details/78658081

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值