当前位置:   article > 正文

FastDFS--tracker安装—storage配置—整合nginx—测试_fastdfs的tracker与storage的nginx怎么安装?

fastdfs的tracker与storage的nginx怎么安装?

目录

一、FastDFS--tracker安装

1 FastDFS安装环境

2 libevent

3 安装libfastcommon

(1)解压

(2)进入到解压后的文件夹中

(3)编译

(4)安装

(5)拷贝

4 安装tracker

(1)上传资料FastDFS_v5.05.tar.gz到 /usr/local 目录

(2)解压

(2)编译

(3)安装

(4)拷贝

(5)修改配置文件

(6)创建fastdfs文件夹

5 设置启动项

(1)启动服务

(2)拷贝安装目录下stop.sh 和restart.sh 到/usr/local/fdfs/

(3)修改启动脚本

(4)注册服务

(5)启动服务

二、FastDFS—storage配置

1 修改配置文件

2 创建fdfs_storage文件夹

3 设置服务

4 注册服务

5 启动服务

6 上传图片测试

(1)修改/etc/fdfs/client.conf

(2)测试上传

三、FastDFS整合nginx

1 安装nginx整合插件fastdfs-nginx-module

(1)上传fastdfs-nginx-module_v1.16.tar.gz上传到 /usr/local,并解压

(2)编辑配置文件:修改config文件将/usr/local/路径改为/usr/

(3)将FastDFS-nginx-module/src下的mod_fastdfs.conf拷贝至/etc/fdfs/下

(4)修改mod_fastdfs.conf的内容

(5)将libfdfsclient.so拷贝至/usr/lib下

2 安装nginx

(1)创建nginx/client目录

(2)安装环境

(3)上传nginx

(4)编译

(5)安装

(6)编辑nginx.conf

(7)启动nginx

(8)设置开机启动

(9)需要关闭防火墙

(10)测试

四、fdfs和springboot的整合

1 通过git下载fdfs的客户端

2 将fdfs的客户端打包到本地maven仓库中

3 将fdfs整合到pom中

4、实现图片上传工具类


一、FastDFS--tracker安装

1 FastDFS安装环境

FastDFS是C语言开发,建议在linux上运行,本教程使用Centos7.4作为安装环境。

安装gcc 依赖环境:

yum install gcc-c++ -y

2 libevent

yum -y install libevent

如果没有perl库,需要使用yum install perl* 命令安装一下

yum install perl*
yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget

3 安装libfastcommon

上传压缩包文件libfastcommonV1.0.7.tar.gz 到 /usr/local目录下,并解压。

(1)解压

tar -zxvf libfastcommonV1.0.7.tar.gz

(2)进入到解压后的文件夹中

(3)编译

./make.sh

如果出现编译perl 不识别 运行下面这段命令

 yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget

(4)安装

./make.sh install

(5)拷贝

注意:libfastcommon安装好后会自动将库文件拷贝至/usr/lib64下,由于FastDFS程序引用usr/lib目录所以需要将/usr/lib64下的库文件拷贝至/usr/lib下。

cp /usr/lib64/libfastcommon.so  /usr/lib/

4 安装tracker

(1)上传资料FastDFS_v5.05.tar.gz到 /usr/local 目录

(2)解压

tar -zxvf FastDFS_v5.05.tar.gz

(2)编译

cd FastDFS
./make.sh

(3)安装

./make.sh install

(4)拷贝

安装成功之后,将安装目录下的conf下的文件拷贝到/etc/fdfs/下

cd conf
cp  *  /etc/fdfs/

(5)修改配置文件

vi /etc/fdfs/tracker.conf

(6)创建fastdfs文件夹

mkdir /opt/fastdfs

5 设置启动项

(1)启动服务

mkdir  /usr/local/fdfs  

(2)拷贝安装目录下stop.sh 和restart.sh 到/usr/local/fdfs/

  1. cp restart.sh  /usr/local/fdfs/
  2. cp stop.sh  /usr/local/fdfs/

(3)修改启动脚本

vi /etc/init.d/fdfs_trackerd

把启动脚本中的路径按照上图修改

修改完毕后

(4)注册服务

chkconfig  --add  fdfs_trackerd

(5)启动服务

service fdfs_trackerd start

二、FastDFS—storage配置

1 修改配置文件

vi /etc/fdfs/storage.conf

2 创建fdfs_storage文件夹

mkdir /opt/fastdfs/fdfs_storage

3 设置服务

vi  /etc/init.d/fdfs_storaged

4 注册服务

chkconfig  - -add  fdfs_storaged

5 启动服务

service fdfs_storaged start 

6 上传图片测试

FastDFS安装成功可通过/usr/bin/fdfs_test测试上传、下载等操作。

(1)修改/etc/fdfs/client.conf

vi /etc/fdfs/client.conf

(2)测试上传

/usr/bin/fdfs_test /etc/fdfs/client.conf upload a.jpg 

对应的上传路径:

/opt/fastdfs/fdfs_storage/data

/00/00/wKhDo1qipbiAJC6iAAB1tayPlqs094_big.jpg

注意:但是此时是访问不到图片的,需要整合nginx

三、FastDFS整合nginx

1 安装nginx整合插件fastdfs-nginx-module

(1)上传fastdfs-nginx-module_v1.16.tar.gz上传到 /usr/local,并解压

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

(2)编辑配置文件:修改config文件将/usr/local/路径改为/usr/

vi fastdfs-nginx-module/src/config

(3)将FastDFS-nginx-module/src下的mod_fastdfs.conf拷贝至/etc/fdfs/下

cp mod_fastdfs.conf /etc/fdfs/

(4)修改mod_fastdfs.conf的内容

vi /etc/fdfs/mod_fastdfs.conf

继续修改 url中包含group名称

继续修改  #指定文件存储路径

(5)将libfdfsclient.so拷贝至/usr/lib下

cp /usr/lib64/libfdfsclient.so /usr/lib/

2 安装nginx

(1)创建nginx/client目录

mkdir -p /var/temp/nginx/client

(2)安装环境

安装pcre库

yum -y install pcre-devel

安装zlib库

yum install -y zlib-devel

(3)上传nginx

A上传nginx压缩包到/usr/local目录下,解压

tar -zxvf nginx-1.12.2.tar.gz

B 添加fastdfs-nginx-module模块

cd nginx-1.12.2
  1. ./configure \
  2. --prefix=/usr/local/nginx \
  3. --pid-path=/var/run/nginx/nginx.pid \
  4. --lock-path=/var/lock/nginx.lock \
  5. --error-log-path=/var/log/nginx/error.log \
  6. --http-log-path=/var/log/nginx/access.log \
  7. --with-http_gzip_static_module \
  8. --http-client-body-temp-path=/var/temp/nginx/client \
  9. --http-proxy-temp-path=/var/temp/nginx/proxy \
  10. --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
  11. --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
  12. --http-scgi-temp-path=/var/temp/nginx/scgi \
  13. --add-module=/opt/fastdfs-nginx-module/src

配置成功

(4)编译

[root@localhost nginx-1.12.2]# make

(5)安装

[root@localhost nginx-1.12.2]# make install

(6)编辑nginx.conf

vim /usr/local/nginx/conf/nginx.conf

(7)启动nginx

/usr/local/nginx/sbin/nginx

(8)设置开机启动

[root@iZ2zednyjjxxq7k3i2dwsfZ nginx-1.12.2]# vim /etc/rc.d/rc.local

(9)需要关闭防火墙

service iptables stop

永久关闭:

 chkconfig  iptables  off

(10)测试

/usr/bin/fdfs_test /etc/fdfs/client.conf upload /root/ty.jpg

显示结果:

四、fdfs和springboot的整合

1 通过git下载fdfs的客户端

https://github.com/happyfish100/fastdfs-client-java

2 将fdfs的客户端打包到本地maven仓库中

导入maven

 

3 将fdfs整合到pom中

<dependency>
    <groupId>org.csource</groupId>
    <artifactId>fastdfs-client-java</artifactId>
    <version>1.27-SNAPSHOT</version>
</dependency>

4、实现图片上传工具类

  1. package com.atguigu.gmall.manage.util;
  2. import org.csource.common.MyException;
  3. import org.csource.fastdfs.ClientGlobal;
  4. import org.csource.fastdfs.StorageClient;
  5. import org.csource.fastdfs.TrackerClient;
  6. import org.csource.fastdfs.TrackerServer;
  7. import org.springframework.web.multipart.MultipartFile;
  8. import java.io.IOException;
  9. public class PmsUploadUtil {
  10. public static String uploadImage(MultipartFile multipartFile) {
  11. String imgUrl = "http://192.168.222.20";
  12. // 上传图片到服务器
  13. // 配置fdfs的全局链接地址
  14. String tracker = PmsUploadUtil.class.getResource("/tracker.conf").getPath();// 获得配置文件的路径
  15. try {
  16. ClientGlobal.init(tracker);
  17. } catch (Exception e) {
  18. e.printStackTrace();
  19. }
  20. TrackerClient trackerClient = new TrackerClient();
  21. // 获得一个trackerServer的实例
  22. TrackerServer trackerServer = null;
  23. try {
  24. trackerServer = trackerClient.getConnection();
  25. } catch (IOException e) {
  26. e.printStackTrace();
  27. }
  28. // 通过tracker获得一个Storage链接客户端
  29. StorageClient storageClient = new StorageClient(trackerServer,null);
  30. try {
  31. byte[] bytes = multipartFile.getBytes();// 获得上传的二进制对象
  32. // 获得文件后缀名
  33. String originalFilename = multipartFile.getOriginalFilename();// a.jpg
  34. System.out.println(originalFilename);
  35. int i = originalFilename.lastIndexOf(".");
  36. String extName = originalFilename.substring(i+1);
  37. String[] uploadInfos = storageClient.upload_file(bytes, extName, null);
  38. for (String uploadInfo : uploadInfos) {
  39. imgUrl += "/"+uploadInfo;
  40. }
  41. } catch (Exception e) {
  42. e.printStackTrace();
  43. }
  44. return imgUrl;
  45. }
  46. }

tracker.conf

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/324256
推荐阅读
相关标签
  

闽ICP备14008679号