Centos搭建FastDFS文件服务器,并整合Nginx

文章目录

  • 1. 准备材料
  • 2. 安装libfastcommon-master
    • 2.1 解压文件
    • 2.2 进入文件,进行编译安装
  • 3. 安装FastDFS
    • 3.1 解压
    • 3.2 进入目录,编译安装
    • 3.3 配置tracker
    • 3.4 配置storage
  • 4 整合Springboot
    • 4.1 添加依赖
    • 4.2 添加配置
    • 4.3 文件上传代码
    • 4.4 测试
  • 5 整合Nginx
    • 5.1 安装fastdfs-nginx-module
    • 5.2 安装Nignx

1. 准备材料

FastDFS材料下载地址

将所有文件上传到/user/local

2. 安装libfastcommon-master

2.1 解压文件

upzip libfastcommon-master.zip

2.2 进入文件,进行编译安装

#进入文件夹
cd libfastcommon-master
# 编译安装
./make.sh 
./make.sh install

3. 安装FastDFS

3.1 解压

tar -xvf FastDFS_v5.08.tar.gz

3.2 进入目录,编译安装

cd FastDFS	
./make.sh 
./make.sh install

进入/etc/fdfs 会看到三个simple配置文件
Centos搭建FastDFS文件服务器,并整合Nginx_第1张图片

3.3 配置tracker

  1. 修改配置文件名称

     cp tracker.conf.sample tracker.conf
    

    Centos搭建FastDFS文件服务器,并整合Nginx_第2张图片

  2. 修改配置文件部分配置

     #修改配置文件
     vim tracker.conf
     
     # 数据日志保存路径
     base_path=/var/fdfs/tracker
    
  3. 启动tracker

      service fdfs_trackerd start
    
  4. 查看启动

     netstat -nltp
    

    Centos搭建FastDFS文件服务器,并整合Nginx_第3张图片

3.4 配置storage

和配置tracker差不多

  1. 修改名称

      cp storage.conf.sample storage.conf
    
  2. 修改配置

     vim storage.conf
     
     # 数据日志保存路径
     base_path=/var/fdfs/storage
     
     #和上面相同,必须保证下面目录存在,不然会启动不了
     store_path0=/var/fdfs/storage
     
     # 设置tracker的地址Ip
     tracker_server=47.97.3.96:22122
    
  3. 启动

     service fdfs_storaged start
    
  4. 查看

      ps -ef | grep fdfs
    

    如果没有这三个进程,或者少了,其中一个,就有问题。
    在这里插入图片描述

4 整合Springboot

通过整合Springboot 测试上传

4.1 添加依赖

 
        com.github.tobato
        fastdfs-client
        1.26.1-RELEASE
 

4.2 添加配置

  1. yml文件中添加配置

     	fdfs:
     	  # 连接Tracker服务器超时时间
     	  connect-timeout: 10000
     	  # storage服务器响应的超时时间
     	  so-timeout: 3000
     	  #  trakcer服务器的数量
     	  tracker-list:
     	    - 47.97.3.96:22122
     	  pool:
     	  	# 这句必须加,不然会启动宝座
     	    jmx-enabled: false
    
  2. 启动类添加

    @Import(FdfsClientConfig.class)
    

    Centos搭建FastDFS文件服务器,并整合Nginx_第4张图片

4.3 文件上传代码

	import java.io.IOException;
	
	/**
	 * @Auther: Albert
	 * @Date: 2019-04-23 09:40
	 * @Description:
	 */
	@Api(description = "文件上传")
	@RestController()
	@RequestMapping("upload/")
	public class UploadController {
	
	    @Autowired
	    private DefaultFastFileStorageClient fastFileStorageClient;
	
	    @ApiOperation(value = "上传文件",httpMethod = HttpMethodConstants.POST)
	    @RequestMapping("file/")
	    public ResponseBase uploadFile(@ApiParam("文件") @RequestPart("file")MultipartFile file) {
	        try {
	            String originalFilename = file.getOriginalFilename();
	            StorePath storePath = fastFileStorageClient.uploadFile(file.getInputStream(), file.getSize(), originalFilename.substring(originalFilename.lastIndexOf(".") + 1), null);
	            return ResponseBase.ok(JsonUtils.objectToJson(storePath));
	        } catch (IOException e) {
	            e.printStackTrace();
	        }
	        return null;
	    }
	}

4.4 测试

wagger测试,返回路径,则成功,现在是不能直接访问图片,必须要整合nginx

  1. 选择照片上传
    Centos搭建FastDFS文件服务器,并整合Nginx_第5张图片

  2. 查看结果

Centos搭建FastDFS文件服务器,并整合Nginx_第6张图片

5 整合Nginx

5.1 安装fastdfs-nginx-module

  1. 解压

     cd /usr/local
     tar -xvf fastdfs-nginx-module_v1.16.tar.gz
    
  2. 配置config

     # 进入配置目录
     cd /fastdfs-nginx-module/src/
     # 修改配置
     vim config
     # 执行下面命令(将配置中的/usr/local改为/usr):
     :%s+/usr/local/+/usr/+g
    
  3. 配置mod_fastdfs.conf

     # 将src目录下的mod_fastdfs.conf复制到 /etc/fdfs目录:
     sudo cp mod_fastdfs.conf /etc/fdfs/
     # 编辑该文件
     sudo vim /etc/fdfs/mod_fastdfs.conf		
    
     #需要修改的配置
     connect_timeout=10                  		# 客户端访问文件连接超时时长(单位:秒)
     tracker_server=47.97.3.96:22122  			# tracker服务IP和端口
     url_have_group_name=true            		# 访问链接前缀加上组名
     store_path0=/var/fdfs/storage        		# 文件存储路径
    
  4. 复制 FastDFS的部分配置文件到/etc/fdfs目录(这一步必须加)

     cd /usr/local/FastDFS/conf/
     cp http.conf mime.types /etc/fdfs/
    

5.2 安装Nignx

  1. 解压

     #进入下载文件目录
     cd /usr/local
     # 解压
     tar -xvf nginx-1.10.0.tar.gz
    
  2. 配置

     //如果没有安装prec 则需要安装
     yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel
     ./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=/usr/local/fastdfs-nginx-module/src
    
  3. 编译安装

     make && sudo make install
    
  4. 修改配置文件

    #编辑配置文件
    vim  /opt/nginx/conf/nginx.conf
    

    把配置改成如下,端口必须和storage.conf,里面配置的http.server_port一样

    server {
        listen       8888;
        server_name  localhost;
        location ~/group([0-9])/M00 {
            root /var/fdfs/data;
            ngx_fastdfs_module;
        }
    
        location / {
            root   html;
            index  index.html index.htm;
        }
    
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
     }
    
  5. 启动查看
    Centos搭建FastDFS文件服务器,并整合Nginx_第7张图片

  6. 测试访问上传图片

    访问地址:

     	ip:8888/上传文件返回的路径
    

    http://47.96.2.97:8888/group1/M00/00/00/rBB3A1y-tLmAEs92AAE2Xb2fD-w204.jpg
    Centos搭建FastDFS文件服务器,并整合Nginx_第8张图片

你可能感兴趣的:(Centos)