软件环境

Centos7

FastDFS v5.05

libfastcommon V1.0.7(是从 FastDFS 和 FastDHT 中提取出来的公共 C 函数库)

假设当前linux服务器ip为192.168.1.100

 

下载地址  https://github.com/happyfish100

 

 

编译和安装所需的依赖包

yum install -y make cmake gcc gcc-c++

 

安装libfastcommon

 

cd /usr/local/src/

wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz

tar -zxvf V1.0.7.tar.gz

cd libfastcommon-1.0.7

 

编译和安装

./make.sh

./make.sh install

 

libfastcommon 默认安装到了

/usr/lib64/libfastcommon.so

/usr/lib64/libfdfsclient.so

 

因为 FastDFS 主程序设置的 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

 

安装FastDFS

cd /usr/local/src/

wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz

tar -zxvf V5.05.tar.gz

cd fastdfs-5.05

 

编译和安装

./make.sh

./make.sh install

 

 

采用默认安装的方式安装,安装后的相应文件与目录:

 

       A、服务脚本在:

 

              /etc/init.d/fdfs_storaged

 

              /etc/init.d/fdfs_tracker

 

       B、配置文件在(样例配置文件):

 

              /etc/fdfs/client.conf.sample

 

              /etc/fdfs/storage.conf.sample

 

              /etc/fdfs/tracker.conf.sample

 

       C、命令工具在/usr/bin/目录下的:

 

              fdfs_appender_test

 

              fdfs_appender_test1

 

              fdfs_append_file

 

              fdfs_crc32

 

              fdfs_delete_file

 

              fdfs_download_file

 

              fdfs_file_info

 

              fdfs_monitor

 

              fdfs_storaged

 

              fdfs_test

 

              fdfs_test1

 

              fdfs_trackerd

 

              fdfs_upload_appender

 

              fdfs_upload_file

 

              stop.sh

 

              restart.sh

 

因为 FastDFS 服务脚本设置的 bin 目录是/usr/local/bin,但实际命令安装在/usr/bin

因此需要修改 FastDFS 服务脚本中相应的命令路径,也就是把/etc/init.d/fdfs_storaged和/etc/init.d/fdfs_tracker 

两个脚本中的/usr/local/bin 修改成/usr/bin

 

vim /etc/init.d/fdfs_trackerd

使用查找替换命令进统一修改  先输入冒号: 再输入%s+/usr/local/bin+/usr/bin 回车

vim /etc/init.d/fdfs_storaged

使用查找替换命令进统一修改  先输入冒号: 再输入%s+/usr/local/bin+/usr/bin 回车

 

 

配置FastDFS跟踪器tracker

cd /etc/fdfs/

cp tracker.conf.sample tracker.conf

vim /etc/fdfs/tracker.conf

 

修改的内容如下:

disabled=false #启用配置文件

port=22122  #tracker 的端口号,一般采用 22122 这个默认端口

base_path=/fastdfs/tracker  #tracker 的数据文件和日志目录

 

创建好上面配置的base_path目录

mkdir -p /fastdfs/tracker

 

防火墙打开端口22122

firewall-cmd --zone=public --add-port=22122/tcp --permanent

重新载入

firewall-cmd --reload

 

启动tracker

/etc/init.d/fdfs_trackerd start

初次成功启动,会在/fastdfs/tracker 目录下创建 data、logs 两个目录

 

查看22122端口监听情况

netstat -unltp|grep fdfs

查看tracker的启动日志

tail -f /fastdfs/tracker/logs/trackerd.log

 

关闭tracker

/etc/init.d/fdfs_trackerd stop

 

设置tracker开机启动

vim /etc/rc.d/rc.local

添加以下内容

/etc/init.d/fdfs_trackerd start

 

配置FastDFS存储器storage

cd /etc/fdfs/

cp storage.conf.sample storage.conf

vim /etc/fdfs/storage.conf

修改的内容如下:

disabled=false #启用配置文件

group_name=group1                           #组名(第一组为 group1,第二组为 group2)

port=23000                                  #storage 的端口号,默认为23000,同一个组的 storage 端口号必须相同

base_path=/fastdfs/storage                  #设置storage存储目录

store_path0=/fastdfs/storage                #存储路径

store_path_count=1                          #存储路径个数,需要和 store_path 个数匹配

tracker_server=192.168.1.100:22122          #tracker服务器的IP地址和端口

http.server_port=80                         #设置 http 端口号   

 

创建好上面配置的base_path目录

mkdir -p /fastdfs/storage

 

防火墙打开端口23000

firewall-cmd --zone=public --add-port=23000/tcp --permanent

重新载入

firewall-cmd --reload

 

启动storage

/etc/init.d/fdfs_storaged start

初次成功启动,会在/fastdfs/storage 目录下创建 data、logs 两个目录

 

查看23000端口监听情况

netstat -unltp|grep fdfs

查看storage的启动日志

tail -f /fastdfs/storage/logs/storaged.log

 

关闭storage

/etc/init.d/fdfs_storaged stop

 

设置storage开机启动

vim /etc/rc.d/rc.local

添加以下内容

/etc/init.d/fdfs_storaged start

 

 

文件上传测试

修改FastDFS客户端配置文件

cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf

vim /etc/fdfs/client.conf

 

修改内容如下:

base_path=/fastdfs/client

tracker_server=192.168.1.100:22122

 

创建好上面配置的base_path目录

mkdir -p /fastdfs/client

 

/usr/bin/fdfs_upload_file  /etc/fdfs/client.conf  /usr/local/test.png

能返回文件ID号,说明上传成功

比如返回 group1/M00/00/00/xxx.jpg

 

安装Nginx

Nginx只需要安装到StorageServer所在的服务器即可,用于访问文件。我这里由于是单机,TrackerServer和StorageServer在一台服务器上。

此处省略nginx安装

 

打开上面storage配置的http端口80

防火墙打开端口80

firewall-cmd --zone=public --add-port=80/tcp --permanent

重新载入

firewall-cmd --reload

 

修改nginx.conf

部分配置如下:

server {

  listen 80;

  server_name file.xxx.com;

  location /group1/M00 {

alias /fastdfs/storage/data;

}

  error_page 500 502 503 504 /50x.html;

  location = /50x.html {

root html;

  }

}

 

重启nginx

 

浏览器访问测试 刚刚上传的文件 http://file.xxx.com/group1/M00/00/00/xxxx.jpg

 

转载于:https://www.cnblogs.com/zengnansheng/p/10404600.html

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐