前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >fastdfs安装配置及fast-nginx-module整合nginx

fastdfs安装配置及fast-nginx-module整合nginx

作者头像
玖柒的小窝
发布2021-12-09 23:43:42
1.2K0
发布2021-12-09 23:43:42
举报
文章被收录于专栏:各类技术文章~各类技术文章~

由于最近做项目需要用到文件系统,选择了fastdfs+nginx 但是在安装过程中出现了各种报错,在此把踩过的坑都记录一下,下面我介绍的方法,是我亲自验证过的,只要安装的版本和我的一致应该是没问题的。安装过程出现报错大部分都是版本问题,请更换版本安装,尽量选择新版本

1.下载所需的软件以及工具包

fastdfs作者的github:github.com/happyfish10… 所需的所有软件包都可以在这里下载

我安装的对应的版本: fastdfs-6.07 fastdfs-nginx-module-1.22 nginx-1.10.1

下载对应软件包 下面是所需软件的下载地址

fastdfs v6.07

github.com/happyfish10…

image-20211209083103614.png
image-20211209083103614.png

Fastdfs-nginx-module v1.22

github.com/happyfish10…

image-20211209101441171.png
image-20211209101441171.png

libfastcommon v1.0.53

github.com/happyfish10…

image-20211209083332152.png
image-20211209083332152.png

nginx 1.10.1

nginx.org/download/ng…

image-20211209083453661.png
image-20211209083453661.png

下面开始安装

/usr/local/src 目录下新建fastdfs 文件夹 用于存放安装所需的所有软件包源码

代码语言:javascript
复制
[root@VM-16-12-centos ~]# mkdir /usr/local/src/fastdfs
[root@VM-16-12-centos ~]# cd /usr/local/src/fastdfs/
[root@VM-16-12-centos fastdfs]#
复制代码

首先安装基础环境

代码语言:javascript
复制
yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget
复制代码

下载fastdfs安装所需软件包 下面是所有软件包 请自行前往上面提供的链接下载

image-20211209103208043.png
image-20211209103208043.png

下面开始安装

首先安装libfastcommon

代码语言:javascript
复制
tar -zxvf libfastcommon-1.0.53.tar.gz #解压软件包
cd libfastcommon-1.0.53/ # 进入目录
./make.sh  #编译
./make.sh install # 安装
复制代码

验证是否安装成功

image-20211209090103427.png
image-20211209090103427.png

添加软连接

代码语言:javascript
复制
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

代码语言:javascript
复制
tar -zxvf fastdfs-6.07.tar.gz #解压
cd fastdfs-6.07/ #进入解压目录
./make.sh #编译
./make.sh install #安装
复制代码

fastdfs 默认安装在 /etc/fdfs 目录下

代码语言:javascript
复制
cd /etc/fdfs/ ##进入安装目录 
#将下列三个配置文件全部cp 一份
cp storage.conf.sample  storage.conf
cp tracker.conf.sample tracker.conf
cp client.conf.sample  client.conf
复制代码
配置tracker服务

新建fastdfs 数据的存放目录 下面是我存放的位置

image-20211209091431415.png
image-20211209091431415.png

修改tracker的配置文件 需要修改下面几个配置项

base_path = /home/yuqing/fastdfs 修改为 base_path = /usr/fdfs_data (对应你自己的目录)

http.server_port = 8080 修改为 http.server_port = 8888 (http服务对应的端口)

启动 tracker 服务
image-20211209092144873.png
image-20211209092144873.png

配置storage

代码语言:javascript
复制
vim /etc/fdfs/storage.conf
复制代码

修改下面配置项

base_path = /home/yuqing/ 修改为 base_path = /usr/fdfs_data

store_path0 = /usr/fdfs_data/storage 修改为 store_path0 = /usr/fdfs_data/storage

tracker_server = 192.168.1.2:22122 修改为 tracker_server = 服务器ip:22122

http.server_port = 8080 修改为http.server_port = 8888

启动storage 服务
image-20211209092852821.png
image-20211209092852821.png

下面配置 client 服务 测试上传功能

代码语言:javascript
复制
vim /etc/fdfs/client.conf
复制代码

修改下面配置项

base_path = /usr/fdfs_data

tracker_server = 192.168.0.196:22122 修改为 tracker_server = 服务器ip:22122

http_tracker_server_port =80 修改为http_tracker_server_port = 8888

测试上传文件
image-20211209093245661.png
image-20211209093245661.png
image-20211209093522679.png
image-20211209093522679.png

将fastdfs源码conf目录下的两个配置文件复制到/etc/fdfs目录下

代码语言:javascript
复制
cp /usr/local/src/fastdfs/fastdfs-6.07/conf/http.conf  /etc/fdfs/
 cp /usr/local/src/fastdfs/fastdfs-6.07/conf/mime.types  /etc/fdfs/
复制代码

配置Nginx 整合fastdfs-nginx-module访问

配置 fastdfs-nginx-module

代码语言:javascript
复制
tar -zxvf fastdfs-nginx-module-1.20.tar.gz ##解压
tar -zxvf nginx-1.10.1.tar.gz 
cd ./nginx-1.10.1
./configure --prefix=/usr/local/nginx  --add-module=/usr/local/src/fastdfs/fastdfs-nginx-module-1.22/src
make 
make install

复制代码

修改 fastdfs-nginx-module-1.22/src/mod_fastdfs.conf 配置文件 并复制到 /etc/fdfs 目录

修改下列几项

base_path=/usr/fdfs_data

tracker_server=服务器ip:22122 对应tracker服务的ip

store_path0=/usr/fdfs_data/storage

url_have_group_name = true

配置nginx 代理
代码语言:javascript
复制
vim /usr/local/nginx/conf/nginx/conf
复制代码

nginx.conf

代码语言:javascript
复制
server {
        listen       8888;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
        location /group1/M00{
                 ngx_fastdfs_module;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

复制代码

启动nginx

代码语言:javascript
复制
/usr/local/nginx/sbin/nginx
复制代码

测试上传一张图片

image-20211209103008068.png
image-20211209103008068.png

使用nginx 访问上传的图片

image-20211209103101268.png
image-20211209103101268.png

安装完成!!!

下面开始添加图片压缩功能

重新进入nginx 源码目录

代码语言:javascript
复制
yum install gd gd-devel ## 安装所需依赖
cd /usr/local/src/fastdfs/nginx-1.10.1
/usr/local/nginx/sbin/nginx -s stop #停止nginx服务
./configure --prefix=/usr/local/nginx --with-http_image_filter_module \
  --add-module=/usr/local/src/fastdfs/fastdfs-nginx-module-1.22/src/
  make
  make install 
复制代码

查看nginx安装的模块

代码语言:javascript
复制
  /usr/local/nginx/sbin/nginx -V
复制代码
image-20211209105544164.png
image-20211209105544164.png

修改nginx配置文件

代码语言:javascript
复制
 location ~group1/M00/(.+)_(\d+)x(\d+)\.(jpg|gif|png){
             ngx_fastdfs_module;
             set $w $2;
             set $h $3;
          image_filter resize $w $h;
            image_filter_buffer 10M;
          rewrite group1/M00(.+)_(\d+)x(\d+)\.(jpg|gif|png)$ group1/M00$1.$4 break;
  }
 location ~/group([0-9])/{
        ngx_fastdfs_module;
}
复制代码

重新启动nginx

image-20211209105840511.png
image-20211209105840511.png

访问上传的图片

image-20211209105948515.png
image-20211209105948515.png

大功告成!!!!

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.下载所需的软件以及工具包
  • 首先安装libfastcommon
  • 安装fastdfs
    • 配置tracker服务
      • 启动 tracker 服务
        • 配置storage
          • 启动storage 服务
          • 测试上传文件
          • 配置nginx 代理
      • 配置Nginx 整合fastdfs-nginx-module访问
      相关产品与服务
      图片处理
      图片处理(Image Processing,IP)是由腾讯云数据万象提供的丰富的图片处理服务,广泛应用于腾讯内部各产品。支持对腾讯云对象存储 COS 或第三方源的图片进行处理,提供基础处理能力(图片裁剪、转格式、缩放、打水印等)、图片瘦身能力(Guetzli 压缩、AVIF 转码压缩)、盲水印版权保护能力,同时支持先进的图像 AI 功能(图像增强、图像标签、图像评分、图像修复、商品抠图等),满足多种业务场景下的图片处理需求。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档