系统软件准备

名称 说明
Centos 7.x
libfastcommon FastDFS分离出的一些公用函数包
FastDFS FastDFS安装包
fastdfs-nginx-module FastDF和Nginx的关联模块
Nginx 1.16.1

磁盘目录

说明 位置
资源安装包 /opt/FastDfs
存储Tracker日志和数据的根目录 /usr/local/fastdfs/tracker
存储Storage日志和数据的根目录 /usr/local/fastdfs/storage
存储Client日志和数据的根目录 /usr/local/fastdfs/client

      以上目录在所有节点上都需要建立。

cd /opt
mkdir FastDfs
mkdir -p /usr/local/fastdfs/tracker
mkdir -p /usr/local/fastdfs/storage
mkdir -p /usr/local/fastdfs/client

安装基本依赖

yum install gcc gcc-c++ libevent pcre pcre-devel zlib zlib-devel openssl-devel wget vim -y

安装libfastcommon

tar -zxvf libfastcommon-1.0.42.tar.gz
cd libfastcommon-1.0.42/
./make.sh && ./make.sh install #编译安装

请输入图片描述

FastDfs

tar -zxvf fastdfs-6.04.tar.gz
cd fastdfs-6.04
./make.sh && ./make install
#拷贝
cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf #客户端文件,测试用
cp /opt/FastDfs/fastdfs-6.04/conf/http.conf /etc/fdfs/ #供nginx访问使用
cp /opt/FastDfs/fastdfs-6.04/conf/mime.types /etc/fdfs/ #供nginx访问使用

请输入图片描述

启动Tracker

      在作为Tracker的节点上修改tracker.conf。

# 修改base_path为刚刚建立的目录, 第28行哦
# the base path to store data and log files
base_path=/usr/local/fastdfs/tracker

      启动Tracker。

# 启动Tracker
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
# 查看tracker进程
ps -ef | grep tracker

请输入图片描述

启动Storage

      在作为Storage的节点上修改storage.conf。

# 自定义组名(非强制), 第11行哦
group_name=group1
# 修改base_path为刚刚建立的目录, 第48行哦
base_path=/usr/local/fastdfs/storage
# 第128行
store_path0=/usr/local/fastdfs/storage
# 配置 tracker 的地址,多个 tracker 就写多行
tracker_server=192.168.233.132:22122

      启动Storage。

# 启动Storage
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
# 查看tracker进程
ps -ef | grep storage

请输入图片描述

测试上传

      修改Client.conf文件配置。

# 第10行
base_path=/usr/local/fastdfs/client
# 第21行
tracker_server=192.168.233.132:22122

      使用以下命令上传/opt目录下的一张图片(确保有图片)。

cd /usr/bin
./fdfs_test /etc/fdfs/client.conf upload /opt/image.png

请输入图片描述

      虽然FastDfs给出了访问的URL, 可是并无法使用, 需要与Nginx结合才能访问资源。

Nginx与FastDFS的整合

注意:需要在Storage上安装Nginx, Tracker上不用安装!

      首先解压资源文件中的Nginx, 执行以下命令安装Nginx。

mkdir /var/temp/nginx -p
./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

make && make install #编译安装

请输入图片描述

      然后解压资源文件中的fastdfs-nginx-module-1.22, 修改其scr/conf文件。
请输入图片描述

      修改mod_fastdfs.conf:

# 第10行
base_path=/usr/local/fastdfs/storage
# 第40行
tracker_server=192.168.233.132:22122
# 第47行,需要改为自己的组名
group_name=group1
# 第53行
url_have_group_name = true
# 第62行
store_path0=/usr/local/fastdfs/storage

      为Nginx添加fastdfs模块。

# 首先需要删除Makefile文件,否则还是没有添加上fastdfs模块
rm -rf Makefile
./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=/opt/FastDfs/fastdfs-nginx-module-1.22/src

make && make install

      使用nginx -V命令可以发现fastdfs模块已经集成进去了。
请输入图片描述

      注意: 集成好fastdfs后访问以下首页,如果无法访问,查看/var/log/nginx/error.log。若错误如下所示。则将刚刚配置的mod_fastdfs.conf文件拷贝到/etc/fdfs/目录下, 再重启Nginx即可。

[2021-04-18 11:26:20] ERROR - file: /opt/FastDfs/fastdfs-nginx-module-1.22/src/common.c, line: 163, load conf file "/etc/fdfs/mod_fastdfs.conf" fail, ret code: 2

      最后配置nginx的配置文件, 实现fastdfs的web访问。

server {
    listen 8888;
    server_name localhost;
    location /groupname/M00 { #groupname设置刚刚在配置文件中配置的
        ngx_fastdfs_module;
    }
}

配置后最好先关闭Nginx再启动

Last modification:April 18th, 2021 at 11:32 pm
如果觉得我的文章对你有用,请随意赞赏