准备工作
环境 : centos7
下载fastDFS
wget https://github.com/happyfish100/fastdfs/archive/V6.06.tar.gz
wget https://github.com/happyfish100/fastdfs-nginx-module/archive/V1.22.tar.gz
wget https://github.com/happyfish100/libfastcommon/archive/V1.0.43.tar.gz下载完成之后可以更改tar包的名字
mv V6.06.tar.gz fastdfs-6.06.tar.gz
mv V1.22.tar.gz fastdfs-nginx-module_v1.22.tar.gz
mv V1.0.43.tar.gz libfastcommon-1.0.43.tar.gz更改之后如下图所示:

下载nginx
wget http://nginx.org/download/nginx-1.18.0.tar.gz安装
安装libevent
yum -y install libevent接着 找到 fastDFS 目录下的 libfastcomm-1.0.43.tar.gz 对其解压
tar -zxvf libfastcommon-1.0.43.tar.gz 解压完成之后,进入解压后的文件
cd libfastcommon-1.0.43查看一下里面有什么文件
接着 运行make.sh 进行编译
./make.sh等待编译完成,然后对其安装,执行如下命令
./make.sh install安装完成之后,切换到 usr/lib64 目录
cd /usr/lib64/执行如下命令
ll libfast*
找到lbfastcommon.so 这个文件,需要将它复制到 usr/lib 目录下
执行命令
cp -rn libfastcommon.so /usr/lib安装 tracker
切换到 fastdfs-6.06.tar.gz 所在的目录
解压 fastdfs-6.06.tar.gz
tar -zxvf fastdfs-6.06.tar.gz 解压完成之后,切换到目录里面进行编译
cd fastdfs-6.06
./make.sh 等编译完成之后,执行安装命令
./make.sh install接着切换到 fastdfs-6.06/conf/ 目录
cd conf/需要把里面的配置文件复制到/etc/fdfs/ 目录
cp * /etc/fdfs/切换到 /etc/fdfs/ 进行查看
修改配置文件 tracker.conf
vim tracker.conf
修改了base_path,然后退出保存。
退出之后,在根目录下创建刚刚修改的base_path 里面定义的目录,命令如下:
cd /
mkdir /fastdfs/tracker -p查看是否创建成功
在 fastdfs 下继续创建两个文件夹,后续会使用到的:
mkdir storage
mkdir client
做完这一步操作之后,回到 /usr/bin/ 目录
cd /usr/bin/
在这里找到fdfs_trackerd文件,而这个文件就是用来启动tracker的文件。
执行启动命令:
fdfs_trackerd /etc/fdfs/tracker.conf假如你的tracker.conf配置文件发生了变化,那么至需要在这个命令后面加一个restart即可:
fdfs_trackerd /etc/fdfs/tracker.conf restart
到此为止,fastDFS中的tracker服务已经OK了。
安装storage
切换目录到/etc/fdfs/上面我们已经修改了tracker.conf,接着找到storage.conf文件
cd /etc/fdfs/
编辑storage.conf文件
vim storage.confgroup_name=group1 // 组织名,改成你想要的即可
store_path0=/home/yuqing/fastdfs//图片存储路径
tracker_server=192.168.209.121:22122//IP配置为你当前的服务器ip,端口是默认的可不做修改
base_path=/fastdfs/storage // 这个目录路径在前面已经创建过的,在这里就直接写这个即可这个文件就需要该这几个配置项,改为就直接保存退出。
切换到 /usr/bin/目录可以用来启动 storage 服务
cd /usr/bin/
找到 fdfs_storaged
执行命令
fdfs_storaged /etc/fdfs/storage.conf如果storage.conf有改动,可以重启storage服务就直接在上面的命令后面加一个restart
fdfs_storaged /etc/fdfs/storage.conf restart
启动完成之后可以查看一下
ps aux | grep storage
到此为止,fastDFS中的storage服务也已经OK了。
以上storage服务和tracker服务都启动了,接着做个小测试。
在做这测之前,还需要几件事
配置client
首先切换到/etc/fdfs/目录
修改client.conf配置文件
vim client.confbase_path=/fastdfs/client //这个目录也是之前已经创建好了的
tracker_server=10.211.55.4:22122 // IP修改为你的服务器IP 端口默认的可不做修改修改完成之后,退出保存.
测试
下面就可以做测试了。
首先还是要切换目录到/usr/bin/
cd /usr/bin/
找到fdfs_test这个服务就可以做相应的测试,记得事先准备一张测试图片。
我这里事先准备了一张图片在根目录下
切换到home目录查看
cd /home/
执行命令
/usr/bin/fdfs_test /etc/fdfs/client.conf upload QQ20200429-170837.png 看见如下就代表上传成功了
说明:
上图可以看见我们曾配置的 组织名 group_name(group1)
还有文件名,以及访问图片的URL。
到这一步虽然有了这个图片的url 但是我们还是访问不到这个图片的,因为我们并没有配置对应的web服务器,接下来会配置nginx。
思考一个问题,由上面的图片已经上传成功了,那这图片到底存储在哪里了呢?
这个取决于你的配置文件里面的配置,我这里是在这个路径下:
/fastdfs/storage/data/00/00/
配置Nginx
切换到目录/root
找到对应的fastdfs-nginx-module_v1.22.tar.gz
对其解压
cd /root/
tar -zxvf fastdfs-nginx-module_v1.22.tar.gz
cd fastdfs-nginx-module-1.22/src/修改config文件
vim config
删掉标红的两个/local ,因为和我们配置的路径不一致。
修改完成之后,保存退出。
操作完以上步骤之后,切换目录到home包下:
在安装nginx之前要先安装必要的一些库
yum install gcc-c++
yum install pcre prce-devel
yum install zlib zili-devel
yum install penssl openssl-devel接着解压nginx
tar -zxvf nginx-1.18.0.tar.gz 进入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=/root/fastdfs-nginx-module-1.22/src(这里填写你的fastdfs-ngix-module的路径)复制在nginx下回车就可以运行
接着make编译一下
make编译完成之后,执行安装命令
make install
安装完成之后,在/usr/local/目录下就会存在一个nginx文件夹
做到这一步,还需要一个fastdfs和nginx的 “桥梁配置文件”
切换目录到
cd /root/fastdfs-nginx-module-1.22/src/
找到mod_fastdfs.conf文件
把它复制到/etc/fdfs/
cp mod_fastdfs.conf /etc/fdfs/在fastdfs下面创建 tmp 文件夹
cd /fastdfs/
mkdir tmp
进入/etc/fdfs/目录进行查看并且使用vim修改这个文件
cd /etc/fdfs/
vim mod_fastdfs.conf 需要修改以下配置
base_path=/fastdfs/tmp
tracker_server=10.211.55.4:22122 //配置你的服务器ip
group_name=group1 // 和之前配置的组织名要一致
url_have_group_name = true // 默认为关闭的 这里修改为true修改完成之后保存退出。
接着到/usr/local/nginx/conf目录
cd /usr/local/nginx/conf/修改nginx.conf文件
vim nginx.conf添加以下内容在nginx.conf文件
server{
listen 88;
server_name 10.211.55.4;
location /group1/M00 {
ngx_fastdfs_module;
}
}接着可以进入sbin目录进行nginx的启动了
执行命令先检查一下
cd ../sbin/
./nginx -t
在这里提示/var/temp/nginx/目录不存在
执行以下命令
mkdir /var/temp/nginx -p再次执行./nginx -t
发现没问题了,就可以直接启动nginx了,执行命令
./nginx
打开浏览器输入IP访问试试
说明 nginx 已经成功启动了!!!
注意:可能会有这个情况,ngxin正常启动,但是页面还是访问不了`nginx`页面,这是因为防火墙的出站入站策略,需要将`88`端口加入到入站策略里面,需要`88`端口可以被外部访问.
接着找一下开始上传成功的那个图片路径,复制到浏览器中访问一下。
突然发现还是访问不了这张图片,因为现在我们使用的是nginx的服务器,上文中有一个fastDFS和nginx的桥梁配置文件,里面没有配置存放路径。
进入/etc/fdfs/目录,找到mod_fastdfs.conf文件,修改它
cd /etc/fdfs/
vim mod_fastdfs.conf 需要修改成以下值:
store_path0=/fastdfs/storage保存退出。
接着重启tracker,storage
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
再浏览器刷新刚刚的url进行查看!
到此,全文结束!