• Linux环境下安装fastdfs


    说明:本人该篇博客来源于:beyondLi71,写这篇博客主要是在根据他的流程搭建出了问题,本人修正后便于以后观看及有需求的朋友少走弯路,转载文章时也请将beyondLi71的博客链接加上。

    Linux安装FastDFS软件

    一、环境准备:

    如果已按照该环境则跳过

    yum install gcc-c++

    yum -y install libevent

    yum install perl

    二、安装libfastcommon

    FastDFS 5.05版本不再依赖libevent,而依赖于libfastcommon,因此需要先安装libfastcommon

    软件包下载地址:https://github.com/happyfish100/libfastcommon

    下载后将其上传至/usr/local下进行解压

    二、安装FastDFS

    FastDFS压缩包上传至服务器/usr/local下

    # 解压 
    tar -zxvf FastDFS_v5.05.tar.gz 
    # 切换盘符
     cd FastDFS 
    # 安装 
    ./make.sh 
    ./make.sh install
    

    如果安装成功,则可以看到/etc/fdfs目录下生成了3个文件

    配置tracker节点

    上面我们也提到了关于客户端请求Tracker server进行文件上传、下载,通过Tracker server调度最终由Storage server完成文件上传和下载的步骤,所以我们现在需要配置tracker节点

    #创建tracker的数据文件和日志存储目录
    mkdir -p /data/fastdfs
    # 切换盘符  
    cd /etc/fdfs
    # 重命名
    mv tracker.conf.sample tracker.conf
    #修改的文件内容如下(基础配置,不考虑性能调优情况下):
    vi tracker.conf 
    base_path=/data/fastdfs  #设置 tracker 的数据文件和日志目录(需预先创建)
    http.server_port=6666  #设置http端口号,默认为8080
    

    保存并退出,之后创建软连接

    ln -s /usr/bin/fdfs_trackerd /usr/local/bin
    ln -s /usr/bin/stop.sh /usr/local/bin
    ln -s /usr/bin/restart.sh /usr/local/bin
    #启动tracker节点
    service fdfs_trackerd start  
    

    启动成功后,在/data/fastdfs目录下生成了data和logs两个目录。

    查看日志如下:

    配置storage节点

    #创建
    mkdir /data/fastdfs-storage  
    # 切换盘符
    cd /etc/fdfs/
    #重命名
    mv storage.conf.sample storage.conf
    #修改的文件内容如下(基础配置,不考虑性能调优情况下):
    vi storage.conf
    group_name=group1   #组名,可根据实际情况修改
    base_path=/data/fastdfs-storage #设置storage数据文件和日志目录,需预先创建
    store_path_count=1  #存储路径个数,需要和 store_path 个数匹配、
    store_path0=/data/fastdfs-storage #存储路径
    tracker_server=192.168.116.145:22122 # #tracker 服务器的 IP地址和端口号,如果是单机搭建,IP不要写127.0.0.1,否则启动不成功。
    http.server_port=8888  #设置 http 端口号
    #创建软连
    ln -s /usr/bin/fdfs_storaged /usr/local/bin
    #启动storage
    service fdfs_storaged start
    

    查看日志以确保正常启动

    cat /data/fastdfs-storage/logs/storaged.log
    

    确认启动成功后,可以运行 fdfs_monitor 查看 storage服务器是否已经登记到 tracker服务器。

    /usr/bin/fdfs_monitor /etc/fdfs/storage.conf
    

    看到“ACTIVE”即可确认 storage 运行正常。

    使用fdfs_test上传图片测试

    为确保fastdfs正常运行,我们使用fdfs_test进行图片上传

    # 切换盘符
    cd /etc/fdfs/
    # 重命名
    mv client.conf.sample client.conf
    # 修改配置
    vi client.conf
    base_path=/data/fastdfs-storage/logs
    tracker_server=10.10.169.140:22122
    #上传测试(最后即表示上传的图片)
    /usr/bin/fdfs_test /etc/fdfs/client.conf upload /data/yanjiang.png
    

    如下图所示并生成url即表示上传成功

    好了 现在我们的fastdfs就算是搭建完成了,但是我们现在使用生成的url在浏览器中是无法看到上传的图片的。想要看到上传好了的图片的话,我们还需要使用nginx与fastdfs进行配合才能完成。

    Storage上安装nginx

    因为我们现在是单体的,所以不需要在tracker上安装nginx,我们现在的主要目的是为了进行上传图片的查看,因此在Storage上安装nginx即可。

    安装FastDFS-nginx-module

    FastDFS-nginx-module_v1.16.tar.gz传至/usr/local/下

    # 切换盘符
    cd /usr/local/
    # 下载
    wget http://nchc.dl.sourceforge.net/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz
    # 解压
    tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
    #修改config文件将/usr/local/路径改为/usr/
    vi /usr/local/fastdfs-nginx-module/src/config
    

      

     注意:红框第一行有两处需要进行修改,红框修改完后的值如下:

    CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
    CORE_LIBS="$CORE_LIBS -L/usr/lib -lfastcommon -lfdfsclient"
    

     修改:mod_fastdfs.conf配置

    # 将FastDFS-nginx-module/src下的mod_FastDFS.conf拷贝至/etc/fdfs/下
    cp mod_fastdfs.conf /etc/fdfs/
    # 修改mod_fastdfs.conf的内容
    vi /etc/fdfs/mod_fastdfs.conf
    base_path=/data/fastdfs-storage/logs
    tracker_server=10.10.169.140:22122
    #tracker_server=10.10.169.141:22122(多个tracker配置多行)
    url_have_group_name=true        #url中包含group名称
    store_path0=/data/fastdfs-storage   #指定文件存储路径
    

    修改配置文件后进行保存,之后将http.conf 与 mime.types拷贝到/etc/fdfs下

    # 切换盘符 cd /usr/local/FastDFS/conf/ # 拷贝文件 cp http.conf mime.types /etc/fdfs/
    

    安装nginx

    安装nginx的步骤在这里不做过多的解释,如果有不理解的同学,可以看我之前写过的Nginx简单介绍以及linux下使用Nginx进行负载均衡的搭建来详细的了解,首先我们先将nginx上传到服务器的/usr/local中。

    # 解压
    tar -zxvf nginx-1.8.0.tar.gz
    # 切换目录
    cd nginx-1.8.0
    # 环境准备
    yum install -y pcre pcre-devel
    yum install -y zlib zlib-devel
    yum install -y openssl openssl-devel
    yum install gd-devel
    # 执行
    ./configure 
    --prefix=/data/nginx 
    --pid-path=/var/run/nginx/nginx.pid 
    --lock-path=/var/lock/nginx.lock 
    --error-log-path=/var/log/nginx/error.log 
    --http-log-path=/var/log/nginx/access.log 
    --with-http_gzip_static_module 
    --http-client-body-temp-path=/var/temp/nginx/client 
    --http-proxy-temp-path=/var/temp/nginx/proxy 
    --http-fastcgi-temp-path=/var/temp/nginx/fastcgi 
    --http-uwsgi-temp-path=/var/temp/nginx/uwsgi 
    --http-scgi-temp-path=/var/temp/nginx/scgi 
    --add-module=/usr/local/fastdfs-nginx-module/src 
    
    # 执行
    make
    make install
    # 切换目录
    cd /data/nginx/conf/
    # 修改配置文件
    vi nginx.conf
    #添加location
    location /group1/M00/{
                    ngx_fastdfs_module;
            }
    

      

    启动nginx

    1.进入启动目录:

    cd /data/nginx/sbin

     2.启动:

    ./nginx
    

    如果报以下错误:

    nginx: [emerg] mkdir() "/var/temp/nginx/client" failed (2: No such file or directory)
    

    创建以下文件夹即可:

     sudo mkdir -p /var/temp/nginx
    

      

  • 相关阅读:
    更好的抽屉效果(ios)
    系统拍照动画
    UITabBarController详解
    touch事件分发
    iOS UWebView详解
    iOS 监听声音按键
    webservice偶尔报黄页,解决方案
    FastReport脚本把数据绑定到文本控件上
    [转]js版的md5()
    JQuery中$.ajax()方法参数详解
  • 原文地址:https://www.cnblogs.com/chenyuanbo/p/12449350.html
Copyright © 2020-2023  润新知