CentOS7安装FastDFS详解

第一步

  • 安装gcc环境(若以安装可以忽略)
yum install -y gcc gcc-c++

第二步

  • 安装libevent(运行时需求)
yum -y install libevent

第三步

  • 安装libfastcommon
  • 下载地址:https://github.com/happyfish100/libfastcommon
  • 将下载的安装包上传到CentOS,解压(我是解压到/usr/local/fdfs下)
mkdir -p /usr/local/fdfs
tar -zxvf libfastcommon-1.0.41.tar.gz -C /usr/local/fdfs/
  • 进入解压目录
cd /usr/local/libfastcommon-1.0.41/
./make.sh           #编译
./make.sh install   #安装

在这里插入图片描述

  • libfastcommon安装好后会在/usr/lib64 目录下生成 libfastcommon.so 库文件
  • 注意:由于FastDFS程序引用usr/lib目录所以需要去看该目录下有没有 libfastcommon.so文件,若没有将**/usr/lib64**下的库文件拷贝至/usr/lib下。并建立软连接
  • 下面操作若是usr/lib存在文件则不需要操作。
cp /usr/lib64/libfastcommon.so /usr/lib/
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so

第四步

  • 安装tracker
  • 上传 fastdfs-6.01.tar.gz 到 centos 上;
  • 解压
tar -zxvf fastdfs-6.01.tar.gz -C /usr/local/fdfs
  • 进入解压目录
cd /usr/local/fdfs/fastdfs-6.01
./make.sh && ./make.sh install  #编译之后接着进行安装

在这里插入图片描述

  • 安装成功将安装目录下的conf下的文件拷贝到/etc/fdfs/下;
cp /usr/local/fdfs/fastdfs-6.01/conf/* /etc/fdfs/

第五步

  • 配置和启动tracker
  • cd /etc/fdfs/ 进入该目录
  • 编辑配置文件 vim tracker.conf,将其中的内容改为下面的内容
base_path=/home/fastdfs
  • 创建 /home/fastdfs 目录,用来存放日志,若没有创建启动将会报错
mkdir -p /home/fastdfs
  • 启动tracker,运行如下命令:
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

在这里插入图片描述

第六步

  • 配置和启动storage
  • 将部分内容修改为下面内容
  • vim
base_path=/home/fastdfs
store_path0=/opt/fastdfs/dfs_storage
tracker_server=你的虚拟机ip:22122
#如果有多个则配置多个tracker
#tracker_server=192.168.101.4:22122
  • 创建/home/fastdfs/dfs_storage目录
mkdir -p /home/fastdfs/dfs_storage
  • 启动storage, 运行命令如下:
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

在这里插入图片描述

  • 可以进去/home/fastdfs/dfs_storage/data/查看

在这里插入图片描述

第七步

  • 使用FastDFS自带工具测试
  • 修改client.conf配置文件
# the base path to store log files
base_path=/home/fastdfs

# tracker_server can ocur more than once for multi tracker servers.
# the value format of tracker_server is "HOST:PORT",
#   the HOST can be hostname or ip address,
#   and the HOST can be dual IPs or hostnames seperated by comma,
#   the dual IPS must be an intranet IP and an extranet IP.
#   such as: 192.168.2.100,122.244.141.46

tracker_server=你的虚拟机ip:22122

  • 先上传一张图片到你的虚拟机/root下面,执行下面命令测试
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /root/你的图片

在这里插入图片描述

  • 出现上述图片说明上传成功,但是根据ip在浏览器上是访问不了的,fdfs不支持http,所以需要整合Nginx。

第八步

  • FastDFS 和nginx整合
  • 上传 fastdfs-nginx-module-1.21.tar.gz()
  • 解压
tar -zxvf fastdfs-nginx-module-1.21.tar.gz -C /usr/local/fdfs/
  • 进入解压目录的src目录
cd /usr/local/fdfs/fastdfs-nginx-module-1.21/src/
  • 修改config文件

ngx_addon_name=ngx_http_fastdfs_module

if test -n "${ngx_module_link}"; then
    ngx_module_type=HTTP
    ngx_module_name=$ngx_addon_name
    ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon"
    ngx_module_libs="-L/usr/local/lib -lfastcommon -lfdfsclient"
    ngx_module_srcs="$ngx_addon_dir/ngx_http_fastdfs_module.c"
    ngx_module_deps=
    CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='256*1024' -DFDFS_MOD_CONF_FILENAME='\"/etc/fdfs/mod_fastdfs.conf\"'"
    . auto/module
else
    HTTP_MODULES="$HTTP_MODULES ngx_http_fastdfs_module"
    NGX_ADDON_SRCS="$NGX_ADDON_SRCS $ngx_addon_dir/ngx_http_fastdfs_module.c"
    CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon"
    CORE_LIBS="$CORE_LIBS -L/usr/local/lib -lfastcommon -lfdfsclient"
    CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='256*1024' -DFDFS_MOD_CONF_FILENAME='\"/etc/fdfs/mod_fastdfs.conf\"'"
fi

在这里插入图片描述

  • 将fastdfs-nginx-module/src下的mod_fastdfs.conf拷贝至/etc/fdfs/下
cp mod_fastdfs.conf /etc/fdfs/
  • 修改mod_fastdfs.conf文件。vim /etc/fdfs/mod_fastdfs.conf
base_path=/home/fastdfs
tracker_server=虚拟机ip:22122 
#tracker_server=192.168.172.20:22122 #(多个tracker配置多行)
url_have_group_name=true        #url中包含group名称
store_path0=/home/fastdfs/fdfs_storage  #指定文件存储路径(上面配置的store路径)

第九步

9.1

-若你用yum安装的所以需要下载一份相同版本的nginx(如果不是请忽略这几步操作,直接看9.2)

nginx -v

在这里插入图片描述

wget http://nginx.org/download/nginx-1.16.1.tar.gz 
tar -zxvf nginx-1.16.1.tar.gz -C /usr/local/nginx/

  • 再进行下一步之前,最好把你之前的 /usr/sbin/nginx 备份一下
cp /usr/sbin/nginx /usr/sbin/nginx.back 
cp -rf /etc/nginx /etc/nginx.back

  • 添加module
./configure --add-module=/usr/local/fast/fastdfs-nginx-module-1.21/src/

在这里插入图片描述

  • 成功之后会在解压目录下的objs下生一个nginx文件

在这里插入图片描述

  • 进入objs目录使用objs查看

在这里插入图片描述

  • 停掉nginx , 并将该目录下的nginx 覆盖/usr./local/sbin/下的nginx
sudo systemctl stop nginx
cp nginx /usr/local/nginx

9.2

  • 这里是用wget下载编译安装的
  • 进入Nginx解压目录
  • 添加module
./configure --add-module=/usr/local/fdfs/fastdfs-nginx-module-1.21/src/

在这里插入图片描述

  • 重新编译
make && make install
  • 会覆盖原来的nginx,生成一个nginx.old

在这里插入图片描述

第十步

  • 修改nginx配置文件
  • vim /usr/local/nginx/conf/nginx.conf
    server {
    
    
        listen  80;
        server_name 47.113.122.120;

        location /group1/M00/ {
    
    
        root /home/fdfs/fdfs_storage/data;
        ngx_fastdfs_module;
      }
    }
  • 在你的浏览器上输入你刚刚的图片地址
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/JISOOLUO/article/details/105033394