FastDFS安装入门篇

完整安装流程

下载libfastcommon、fastdfs、fastdfs-nginx-module

下载的包都存放在/home/jason/fdfs-package目录下:

mkdir /home/jason/fdfs-package #新建路径
cd  /home/jason/fdfs-package #cd到该目录下
#用wget进行远程下载
wget https://github.com/happyfish100/libfastcommon/archive/V1.0.39.tar.gz -SO libfastcommon.tar.gz
wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz -SO fastdfs.tar.gz
wget https://github.com/happyfish100/fastdfs-nginx-module/archive/V1.20.tar.gz -SO fastdfs-nginx-module.tar.gz

#解压
tar -zxf xxx.tar.gz

安装libfastcommon

cd home/jason/fdfs-package
cd libfastcommon-1.0.39
./make.sh
./make.sh install

安装fastdfs

cd home/jason/fdfs-package
cd fastdfs-5.11
./make.sh
./make.sh install

安装好后,程序是在/usr/bin目录下:

$ which fdfs_trackerd
/usr/bin/fdfs_trackerd

在这里插入图片描述

而配置文件是在/etc/fdfs目录下

[root@k8s02 ~]# ls /etc/fdfs/
anti-steal.jpg  client.conf  client.conf.sample  http.conf  mime.types  mod_fastdfs.conf  storage.conf  storage.conf.sample  storage_ids.conf  storage_ids.conf.sample  tracker.conf  tracker.conf.sample

但是这些配置文件是不全的,而且都是模板,所以需要从fastdfs包中拷贝过来,并修改配置:

$ cd /home/jason/fdfs-package/fastdfs-5.11/conf
$ ls
anti-steal.jpg  client.conf  http.conf  mime.types  storage.conf  storage_ids.conf  tracker.conf
$ sudo cp /home/jason/fdfs-package/fastdfs-5.11/conf/* /etc/fdfs

修改配置tracker、storage、client、mod_fastdfs的conf文件

sudo vi /etc/fdfs/tracker.conf:

port=22122

base_path=/home/jason/fdfs #关键修改这里

http.server_port=9270

sudo vi /etc/fdfs/storage.conf:

# storage所属的组
group_name=group1

port=23000

base_path=/home/jason/fdfs  #关键

store_path0=/home/jason/fdfs  #关键
# tracker服务器,虽然是同一台机器上,但是不能写127.0.0.1。这项配置可以出现一次或多次
tracker_server=191.8.1.77:22122 #这里应该选择自己服务器的IP地址,端口号保持不变

http.server_port=8888

sudo vi /etc/fdfs/client.conf:

base_path=/home/jason/fdfs/client

tracker_server=191.8.1.77:22122

http.tracker_server_port=9270

sudo vi /etc/fdfs/mod_fastdfs.conf:

# the base path to store log files
base_path=/tmp

# FastDFS tracker_server can ocur more than once, and tracker_server format is
#  "host:port", host can be hostname or ip address
# valid only when load_fdfs_parameters_from_tracker is true
tracker_server=191.8.1.77:22122

# the default value is 23000
storage_server_port=23000

# the group name of the local storage server
group_name=group1

# the paths must be exist
# must same as storage.conf
store_path0=/home/jason/fdfs

配置过程中有几点要注意:

  • 确保配置中用到的目录已经创建了。比如 /home/jason/fdfs/client、/home/jason/fdfs/data、/home/jason/fdfs/logs
  • 确保各种配置文件之间引用的端口一直。比如:
    • mod_fastdfs.conf文件中 tracker_server的端口应该跟 tracker.conf port一致;
    • mod_fastdfs.conf文件中 storage_server_port的端口应该跟跟 storage.conf port一致;
      其他配置或文件虽然不用修改,但是 fastdfs-nginx-module模块会用到:
      anti-steal.jpg
      http.conf
      mime.types

启动 tracker和storage

# 启动
fdfs_trackerd /etc/fdfs/tracker.conf start
fdfs_storaged /etc/fdfs/storage.conf start
# 查看日志
tail -n10 ~/fdfs/logs/trackerd.log
tail -n10 ~/fdfs/logs/storaged.log
# 如果日志显示有错误信息,需要根据信息来查找错误原因

fdfs_test测试上传

mkdir -p /home/jason/fdfs/test_images/ #创建路径
cd /home/jason/fdfs/test_images/ #cd到该目录
rz xxx.jpg #上传xxx.jpg
$ fdfs_test /etc/fdfs/client.conf upload home/jason/jason/test_images/xxx.jpg

测试输出后报错如下:

[2019-10-08 17:02:01] DEBUG - base_path=/home/jason/fdfs, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_ps, use_storage_id=0, storage server id count: 0

[2019-10-08 17:02:01] ERROR - file: tracker_proto.c, line: 48, server: 172.28.23.96:22122, response status 2 != 0
[2019-10-08 17:02:01] ERROR - file: ../client/tracker_client.c, line: 1085, fdfs_recv_response fail, result: 2
[2019-10-08 17:02:01] ERROR - file: tracker_proto.c, line: 48, server: 172.28.23.96:22122, response status 2 != 0
[2019-10-08 17:02:01] ERROR - file: ../client/tracker_client.c, line: 907, fdfs_recv_response fail, result: 2
tracker_query_storage fail, error no: 2, error info: No such file or directory

报错如图所示:

FastDFS安装入门篇_第1张图片

解决办法:

  • 办法1(最常见)

  • 办法2

  • 办法3

安装fastdfs-nginx-module

你可能感兴趣的:(运维)