您当前的位置: 首页 >  服务器

梁云亮

暂无认证

  • 2浏览

    0关注

    1211博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

精品:CentOS7中 使用 FastDFS 搭建图片服务器

梁云亮 发布时间:2020-12-04 22:12:06 ,浏览量:2

简介

FastDFS 是一个开源的高性能分布式文件系统(Distributed File System),它对文件进行管理,主要功能包括功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,主要解决了海量数据存储问题,特别适合以中小文件(建议范围:4KB < file_size [storage serverlist]的映射表。

  • Storage Server:存储服务器,主要提供容量和备份服务;以组(卷,group或volume)为单位组织,一个group内包含多台storage机器,数据互为备份,存储空间以group内容量最小的storage为准,所以建议group内的多个storage尽量配置相同,以免造成存储空间的浪费。
  • 软件
    • CentOS7
    • libfastcommon 1.0.38
    • fastdfs 5.11
    • nginx-1.15.2

    注意:软件的版本要一致,否则有可能出现版本不兼容的问题

    1.下载安装 libfastcommon
    1. 下载libfastcommon
    # wget https://github.com/happyfish100/libfastcommon/archive/V1.0.38.tar.gz
    
    1. 解压文件
    # tar -zxvf V1.0.38.tar.gz
    # cd libfastcommon-1.0.38
    
    1. 编译安装
    # ./make.sh
    # ./make.sh install
    
    1. 创建软链接,因为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
    
    2.下载安装FastDFS
    1. 下载FastDFS
    # wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz
    
    1. 解压
    # tar -zxvf V5.11.tar.gz
    # cd fastdfs-5.11
    
    1. 编译安装
    # ./make.sh
    # ./make.sh install
    
    1. 安装结果
    • 默认安装目录,执行命令cd /etc/init.d可看到:
    /etc/init.d/fdfs_storaged
    /etc/init.d/fdfs_trackerd
    
    • 配置文件: cd /etc/fdfs,有四个.sample后缀的文件(自动生成的fdfs模板配置文件)
    /etc/fdfs/client.conf.sample
    /etc/fdfs/storage.conf.sample
    /etc/fdfs/storage_ids.conf.sample
    /etc/fdfs/tracker.conf.sample
    
    • 执行命令:ls -la /usr/bin/fdfs* ,查看命令脚本:
    1. 设置脚本软链接 FastDFS 服务脚本设置的 bin 目录是 /usr/local/bin, 但实际命令安装在 /usr/bin/ 下,可以通过建立 /usr/bin 到 /usr/local/bin 的软链接
    # ln -s /usr/bin/fdfs_trackerd   /usr/local/bin
    # ln -s /usr/bin/fdfs_storaged   /usr/local/bin
    # ln -s /usr/bin/stop.sh         /usr/local/bin
    # ln -s /usr/bin/restart.sh      /usr/local/bin
    
    3.创建fastdfs文件存储目录 /home/hc/fastdfs/

    在/home/hc/目录下创建文件夹fastdfs,作为FastDFS的数据存放根目录

    4.配置Tracker服务
    1. 进入/etc/fdfs目录,通过cp命令复制tracker.conf.sample,重命名为:tracker.con(删除.sample后缀),作为正式文件
    # cd /etc/fdfs/
    # cp tracker.conf.sample  tracker.conf
    # vi tracker.conf
    
    1. 编辑tracker.conf:vi tracker.conf,修改相关参数(只需要修改: base_path 和 http.server_port 即可)
    # 提供服务的端口,默认:22122
    port=22122
    # Tracker 存储data和log的根路径,根目录必须存在,子目录会自动创建
    base_path=/home/hc/fastdfs
    
    
    # http端口,需要和nginx相同
    http.server_port=80
    
    1. 启动tracker(支持start|stop|restart):
    方式一:
    # /etc/init.d/fdfs_trackerd start
    方式二:
    # service fdfs_trackerd start
    

    成功启动后,会在 /home/lyy/fastdfs(配置的base_path)下创建 data、logs 两个目录。 在这里插入图片描述

    1. 查看端口情况,命令:netstat -apn|grep fdfs 在这里插入图片描述

    如果22122端口正在被监听,则Tracker服务安装成功。 Tracker 关闭命令:service fdfs_trackerd stop

    1. 设置Tracker开机启动
    # chkconfig fdfs_trackerd on
    
    5.配置Storage服务
    1. 进入/etc/fdfs目录,有cp命令拷贝storage.conf.sample,重命名为 storage.conf(删除.sample)后缀作为正式文件
    # cd /etc/fdfs/
    # cp storage.conf.sample storage.conf
    # vi storage.conf
    

    3.编辑storage.conf,修改相关参数(base_path、store_path0、tracker_server、http.server_port)

    # 配置文件是否不生效,false 为生效
    disabled=false 
    
    # 指定此 storage server 所在 组(卷)
    group_name=group1
    
    # storage server 服务端口,storge默认23000
    port=23000
    
    # 心跳间隔时间,单位为秒 (这里是指主动向 tracker server 发送心跳)
    heart_beat_interval=30
    
    # 存储路径个数,需要和store_path个数匹配
    store_path_count=1
    
    # storage存储data和log的跟路径,必须提前创建好
    base_path=/home/hc/fastdfs
    
    # 如果为空,则使用base_path,此处设置两者一样
    store_path0=/home/hc/fastdfs
    
    #如果本参数只为 N(如: 256),那么 storage server 在初次运行时,会在 store_path 下自动创建 N * N 个存放文件的子目录
    subdir_count_per_path=256
    
    # 配置该storage监听的tracker的ip和port
    #有多个 tracker server 时,每个 tracker server 写一行
    tracker_server=172.16.85.139:22122
    
    # 允许系统同步的时间段 (默认是全天) 。一般用于避免高峰同步产生一些问题而设定。
    sync_start_time=00:00
    sync_end_time=23:59
    
    #访问端口
    http.server_port=80
    

    4.启动 Storage

    方式一:
    # /etc/init.d/fdfs_storaged start
    方式二:
    # service fdfs_storaged start
    
    1. 查看端口情况:netstat -apn|grep fdfs 在这里插入图片描述
    • 关闭Storage命令:

    service fdfs_storaged stop

    • 重新启动Storage命令:

    service fdfs_storaged restart

    1. 通过monitor来查看storage是否成功绑定,查看storage和Tracker是否通信成功
    /usr/bin/fdfs_monitor /etc/fdfs/storage.conf
    

    在这里插入图片描述 7. 设置 Storage 开机启动

    # chkconfig fdfs_storaged on
    
    6.配置client
    # cd /etc/fdfs
    # cp client.conf.sample client.conf
    # vi client.conf
    
    修改如下配置
    # Client 的数据和日志目录
    base_path=/home/hc/client
    # Tracker端口
    tracker_server=172.16.85.139:22122
    
    7.安装nginx
    1. 下载Nginx安装包:
    # wget http://nginx.org/download/nginx-1.15.2.tar.gz
    
    1. 解压nginx:
     # tar -zxvf nginx-1.12.1.tar.gz
    
    1. 进入nginx目录
    # cd nginx-1.15.2
    
    1. 安装依赖库,安装Nginx需要的相关依赖包:
    # yum update
    
    # yum install pcre-devel
    # yum install zlib zlib-devel
    # yum install openssl openssl-devel
    
    //上面三条命令可用下面一条命令代替:
    # yum install pcre-devel zlib zlib-devel openssl openssl-devel
    
    8.安装fastdfs-nginx-module安装包
    1. 下载fastdfs-nginx-module安装包
    wget https://github.com/happyfish100/fastdfs-nginx-module/archive/V1.20.tar.gz
    # 解压安装包
    tar -zxvf V1.20.tar.gz 
    
    1. 修改fastdfs-nginx-module-1.20/src/config文件
    ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"
    CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
    
    1. 配置Nginx,
    进入nginx目录
    #  cd nginx-1.15.2
    # 添加模块
    # ./configure --add-module=/usr/local/src/fastdfs-nginx-module-1.20/src
    
    1. 重新编译、安装
    # make && make install
    
    1. 查看nginx版本,命令:/usr/local/nginx/sbin/nginx -V 在这里插入图片描述
    9.配置Nginx和fastdfs-nginx-module模块

    1.配置mod-fastdfs.conf,并拷贝到/etc/fdfs文件目录下

    # cd /usr/local/src/fastdfs-nginx-module-1.20/src/
    # cp mod_fastdfs.conf /etc/fdfs/
    
    1. 修改mod-fastdfs.conf
    #  vi /etc/fdfs/mod_fastdfs.conf 
    修改以下配置:
    # 连接超时时间
    connect_timeout=10
    # Tracker Server 的地址
    tracker_server=172.16.85.139:22122
    ## url是否包含group名称,设置为true
    url_have_group_name = true
    # Storage 配置的store_path0路径,须和storage.conf中的一致
    store_path0=/home/hc/fastdfs
    
    1. 拷贝 FastDFS 解压目录中(anti-steal.jpg、http.conf、mime.types)到/etc/fdfs 目录下
    # cd /usr/local/src/fastdfs-5.11/conf/
    #  cp anti-steal.jpg http.conf mime.types /etc/fdfs/
    
    1. 配置nginx,修改nginx.conf
     vi /usr/local/nginx/conf/nginx.conf
    

    在其中添加如下内容: 在这里插入图片描述 注意:为了避免出现nginx因为权限问题,http请求无法访问的问题出现: 在这里插入图片描述 这一步非常重要,如果不做会出现图片上传成功,但浏览器中nginx无法访问的情况。

    5.启动nginx

    /usr/local/nginx/sbin/nginx
    
    1. 查看nginx安装路径:whereis nginx 在这里插入图片描述
    2. 设置开机启动
    # vi /etc/rc.local
    添加一行:
    /usr/local/nginx/sbin/nginx
    # 设置执行权限
    # chmod 755 rc.local
    
    1. 查询nginx版本
    /usr/local/nginx/sbin/nginx -V
    

    在这里插入图片描述

    10.测试
    1. 上传文件 fdfs_upload_file 在这里插入图片描述

    2. nginx中查看

    • 浏览器中查看结果: 在这里插入图片描述

    • wget查看结果:

    在这里插入图片描述

    附:网页中下载fastdfs文件

    下载地址:https://sourceforge.net/projects/fastdfs/files 在这里插入图片描述

    下载FastDFS的Server安装包,我们点击上图"FastDFS Server Source Code",会看到如下图所示界面,我们选择2016-02-04那个版本 在这里插入图片描述

    我们会看到如下图所示界面,我们点击"FastDFS_v5.08.tar.gz"进行下载即可。 在这里插入图片描述

    关注
    打赏
    1665409997
    查看更多评论
    立即登录/注册

    微信扫码登录

    0.0484s