Nginx访问FastDfs的文件

Nginx访问FastDfs的文件的操作记录

本人实际业务是kkfileview在线预览fastdfs的文件(包括jpg、pdf等格式)。这里不详细讲kkfileview和fastdfs使用,我也不熟悉。

1.kkfileview的安装

1.1 拉取镜像: docker pull keking/kkfileview
1.2 运行: docker run -dit -p 8012:8012 keking/kkfileview
https://blog.csdn.net/qq_33697094/article/details/126076565(我使用的是这里面的docker方法,简单且方便)

2.FastDfs的安装

我使用的是FastDfs是已经装好的,下面连接仅供参考
https://www.cnblogs.com/jichi/p/11315611.html
https://blog.csdn.net/m0_60215634/article/details/122440986(这篇中还介绍fastDfs和nginx的一些配置,可参考,我后续会补充我这边成功的步骤)

3.Nginx的安装

我使用的nginx也是安装好的,下面连接仅供参考
https://blog.csdn.net/t8116189520/article/details/81909574(建议使用这个连接)
https://blog.csdn.net/shallow72/article/details/123878716(这里面有四种安装方式)

4.Nginx访问FastDfs下文件

4.1 安装fastdfs-nginx-module

sudo apt-get install git 
sudo git clone https://github.com/happyfish100/fastdfs-nginx-module.git

4.2 重新编译nginx

  1. 进入nginx的解压目录
  2. 查看nginx版本信息:/usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.16.1
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 
configure arguments: --with-http_gzip_static_module

一般nginx安装后都在/usr/local/nginx

  1. 复制上面的 configure arguments:后面的内容,在后面加上-add-module=/root/fastdfs-nginx-module/src
    结构是: ./configure + configure arguments:后面的内容 + -add-module=/root/fastdfs-nginx-module/src
./configure --with-http_gzip_static_module -add-module=/root/fastdfs-nginx-module/src

注:/root/fastdfs-nginx-module/src 这个为4.1步骤中的安装路径

  1. 编译nginx的执行文件
    在nginx的解压目录下,执行: make 就可以重新编译,会在当前目录下生产一个objs文件夹,里面的nginx就是新编译后的执行文件

不要执行 make install 会覆盖之前的很多东西,这个是编译安装的意思

  1. 查找nginx可执行程序
find / -name "nginx" -type f -executable -print

我这边只找到了两个文件,上面的是原来旧的nginx文件,下面是新的nginx文件,用新的替换旧的
cp /home/nginx-1.16.1/objs/nginx /usr/local/nginx/sbin/nginx

/usr/local/nginx/sbin/nginx
/home/nginx-1.16.1/objs/nginx
  1. 测试新的nginx是否正确:/usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
  1. 重启nginx:/usr/local/nginx/sbin/nginx
  2. 检查nginx版本和参数:/usr/local/nginx/sbin/nginx -V
    看看是否加上了-add-module=/root/fastdfs-nginx-module/src

4.3 配置fastdfs-nginx-module

  1. 进入fastdfs-nginx-module的src下,复制配置文件(mod_fastdfs.conf)到/etc/fdfs中
    cp /root/fastdfs-nginx-module/src/mod_fastdfs.conf /ete/fdfs

/root/fastdfs-nginx-module/src 是4.1步骤中安装路径
/etc/fdfs是fastDfs安装后的配置文件路径

  1. 修改mod_fastdfs.conf配置文件

tracker_server=当前服务器ip:22122
url_have_group_name = true (设为true)
store_path0=/var/data/fastdfs-storage/store (这个可以从/etc/fdfs/storage.conf中的base_path复制过来,此为参考)

  1. 将http.conf和mime.types复制到/etc/fdfs中

注:我的存放在/opt/fastdfs-master/conf下,应该是fastdfs安装时创建的,需要看看fastdfs安装教程

  1. 创建软连接

/var/data/fastdfs-storage/store/data/ 是fastDfs的上传文件的存放路径,点开data后就是00、01、02等文件夹

 ln -s /var/data/fastdfs-storage/store/data/  /var/data/fastdfs-storage/store/data/M00
  1. 修改nginx的配置
    打开/usr/local/nginx/conf/nginx.conf,加上以下配置
 location ~ /group([0-9])/M00 {
        ngx_fastdfs_module;
    }
  1. 重启nginx、fastDfs
  2. 游览器测试能否打开fastDfs文件,前提是文件服务器中已存在附件
    http://服务器ip:80/group1/M00/00/00/rBAc6mSPu_uAcgGFAAuCemsChq8032.pdf

group1是我java代码中配置的,主要是/group1/M00后面的,就是文件在fastDfs中存放路径,看看步骤12

题外话

kkfileview的内置了openoffice,使用预览模式会先下载文件,再打开。我就是看了我的报错信息,文件下载失败,以及我之前做过nginx的一些配置和访问,所以看到文件下载失败的url时才联想到存在nginx访问fastDfs文件的可能。在这里插入图片描述

参考连接

https://blog.csdn.net/jun2016425/article/details/104693761(这个看到2.3之前就行了,我就是这步后卡死)
https://www.cnblogs.com/Lcch/p/16153333.html(然后后面的步骤可参考这个,从配置fastdfs-nginx-module开始)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值