Centos7上安装fastdfs

参考文献

https://github.com/happyfish100/
https://github.com/happyfish100/fastdfs/wiki
https://www.cnblogs.com/leechenxiang/p/5406548.html
https://www.cnblogs.com/leechenxiang/p/7089778.html

下载安装包:
libfatscommon:FastDFS分离出的一些公用函数包
FastDFS:FastDFS本体
fastdfs-nginx-module:FastDFS和nginx的关联模块
nginx:发布访问服务

1安装基础环境

yum install -y gcc gcc-c++
yum -y install libevent

安装libfatscommon函数库

解压

tar -zxvf libfastcommon-1.0.42.tar.gz

进入libfastcommon文件夹,编译并且安装

./make.sh
./make.sh install

安装fastdfs主程序文件

解压

tar -zxvf fastdfs-6.04.tar.gz

进入到fastdfs目录,查看fastdfs安装配置

cd fastdfs-6.04/
vim make.sh
# 下边是配置,可以看到fdfs的目录
TARGET_PREFIX=$DESTDIR/usr
TARGET_CONF_PATH=$DESTDIR/etc/fdfs
TARGET_INIT_PATH=$DESTDIR/etc/init.d

安装fastdfs

./make.sh
./make.sh install 

Centos7上安装fastdfs_第1张图片
如上图,

/usr/bin 中包含了可执行文件;
/etc/fdfs 包含了配置文件;
Centos7上安装fastdfs_第2张图片
Centos7上安装fastdfs_第3张图片
拷贝配置文件如下:

# 将fastdfs解压目录中配置,全部cp到/etc/fdfs/中
cp /home/software/FastDFS/fastdfs-6.04/conf/* /etc/fdfs/

说明
tracker和storage都是同一个fastdfs的主程序的两个不同概念,配置不同的配置文件就可以设定为tracker或者storage(就是可以吧tracker和storage分别部署在不同的服务器上。分别执行上边的安装,然后在tracker服务器上只配置tracker.conf,在storage服务上只配置storage。然后分别只启动tracker和storage)

配置tracker
/etc/fdfs下都是一些配置文件,配置tracker即可

vim tracker.conf

修改tracker配置文件,此为tracker的工作目录,保存数据以及日志

base_path=/usr/local/fastdfs/tracker
mkdir /usr/local/fastdfs/tracker -p

启动tracker服务

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
# 关闭tracker服务
/usr/bin/stop.sh fdfs_trackerd
# 或者
/usr/bin/stop.sh /etc/fdfs/tracker.conf

修改storage配置文件

修改该storage.cond配置文件
/etc/fdfs/
Centos7上安装fastdfs_第4张图片

# 修改组名
group_name=imooc
# 修改storage的工作空间
base_path=/usr/local/fastdfs/storage
# 修改storage的存储空间
store_path0=/usr/local/fastdfs/storage
# 修改tracker的地址和端口号,用于心跳
tracker_server=192.168.3.70:22122
# 后续结合nginx的一个对外服务端口号
http.server_port=8888

创建目录

mkdir /usr/local/fastdfs/storage -p

启动storage
前提:必须首先启动tracker

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
# 关闭storage服务
/usr/bin/stop.sh fdfs_storaged
# 或者
/usr/bin/stop.sh /etc/fdfs/storage.conf

测试上传
修改的client配置文件
修改/etc/fdfs下的client.conf
Centos7上安装fastdfs_第5张图片

  base_path=/usr/local/fastdfs/client
  tracker_server=192.168.1.153:22122
  mkdir /usr/local/fastdfs/client

测试:

# 网上的图片或者本地的图片
wget https://www.imooc.com/static/img/index/logo.png
# /usr/bin/下的fdfs_test
./fdfs_test /etc/fdfs/client.conf upload /home/logo.png

配置 nginx fastdfs 实现文件服务器

引子
fastdfs安装好以后是无法通过http访问的,这个时候就需要借助nginx了,所以需要安装fastdfs的第三方模块到nginx中,就能使用了。

注:nginx需要和storage在同一个节点。
安装nginx插件
解压nginx的fastdfs压缩包

tar -zxvf fastdfs-nginx-module-1.22.tar.gz

复制配置文件如下:

# 在解压目录的src下
cp mod_fastdfs.conf /etc/fdfs

我是将这个插件放置在/usr/local/下
修改/fastdfs-nginx-module/src/config文件,主要是修改路径,把local删除,因为fastdfs安装的时候我们没有修改路径,原路径是/usr
安装nginx(略):参考
其中配置如下

./configure     --prefix=/usr/local/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-1.22/src

修改 mod_fastdfs.conf 配置文件(/etc/fdfs下):

base_path=/usr/local/fastdfs/tmp
tracker_server=192.168.1.153:22122
# 和storage里边的配置保持一致
group_name=imooc
url_have_group_name = true
# 和storage里边的配置保持一致
store_path0=/usr/local/fastdfs/storage

创建文件夹

mkdir /usr/local/fastdfs/tmp

修改nginx.conf,添加如下虚拟主机:

server {
     
    listen       8888;
    server_name  localhost;

    location /imooc/M00 {
     
            ngx_fastdfs_module;
    }
}

如果group=group1(就是默认的组名)
location ~/group[0-9]/ {
     
        ngx_fastdfs_module;
}

还需要注意开放端口;像上边的8888,22122,23000(java连接需要)

你可能感兴趣的:(fastdfs)