Linux下部署FastDFS
FastDFS的安装
首先需要准备的资源如下:
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092104660-47221347.png)
libfastcommon-master:https://github.com/happyfish100/libfastcommon
FastDFS + nginx-module:https://sourceforge.net/projects/fastdfs/files/
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092137631-184543190.png)
ngx_cache_purge-2.3:http://labs.frickle.com/nginx_ngx_cache_purge/
开始libfastcommon的安装(两台机器同时进行,一台tracker、一台storage)
第一步:安装gcc
命令:yum install make cmake gcc gcc-c++
第二步:解压libfastcommon-master.zip到指定文件夹(-d),
命令:unzip libfastcommon-master.zip -d /usr/local/fast/
第三步:进入解压后的文件夹中编译和安装,
命令:./make.sh ./make.sh install
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092211026-1110797115.png)
开始FashDFS核心安装:
第一步:解压缩到指定目录下
命令:tar -zxvf FastDFS_v5.05.tar.gz -C /usr/local/fast/
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092229131-2119362368.png)
编译
命令:./make.sh
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092242440-1896607577.png)
安装
命令:./make.sh install
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092253391-2103307244.png)
第二步:修改配置文件
(1)到配置文件下并且进行查看服务脚本
命令:cd /etc/init.d/ && ls | grep fdfs
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092303499-1979333690.png)
一个系统配置跟踪器(trackerd),一个系统配置存储(storage)
233.132:跟踪器 233.133:存储
(2)配置文件在:
/etc/fdfs/client.conf.sample
/etc/fdfs/storage.conf.sample
/etc/fdfs/tracker.conf.sample
以上这些都只是配置文件的模板,我们需要重新拷贝一份并且去掉.sample后缀
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092333344-311979062.png)
(3)通过一下命令可查看FastDFS是否安装成功!
命令:cd /usr/bin/ && ls |grep fdfs
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092346847-1373459876.png)
第三步:在192.168.233.132机器上配置tracker
进入到目录下
命令:cd /etc/fdfs/ && ls
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092356429-563125592.png)
复制出一份tracker的配置文件
命令:cp tracker.conf.sample tracker.conf
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092419961-1648435577.png)
通过xftp软件新建一个文件夹:/fastdfs/tracker,并编辑配置文件
命令:mkdir -p /fastdfs/tracker
命令:vim /etc/fdfs/tracker.conf
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092430027-87327749.png)
之后就可以去启动tracker了
命令:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
查看进程:
命令:ps -ef | grep fdfs
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092437882-443430996.png)
停掉服务
命令:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf stop
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092445451-2092839693.png)
接下来就可以进行storage的配置了(192.168.233.132)
进入文件目录,并且复制一份配置文件
命令:cd/etc/fdfs/
命令:cp storage.conf.sample storage.conf
修改配置文件内容如下:
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092506858-527394999.png)
通过xftp软件新建一个文件夹:/fastdfs/storage
命令:mkdir -p /fastdfs/storage
启动storage
命令:/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
如果执行时卡住不动,通过日志查看发现:连接不上,则去开放tracker的端口。
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092534668-210662909.png)
通过iptables-save来查看开放的端口信息
命令:iptables-save
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092543074-1934834247.png)
使用如下命令开放22122端口
命令:firewall-cmd --zone=public --add-port=22122/tcp --permanent
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092552328-1359334969.png)
之后重载防火墙
命令:firewall-cmd --reload
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092559153-1200357546.png)
再次通过iptables-save查看
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092606766-860987276.png)
之后再重试启动storage即可。
成功后可看到如下效果:
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092618143-1005049504.png)
命令:cd /fastdfs/storage/data && ls
测试:进行上传文件的测试(可以再配一台机器作为client,配置common、fastdfs等)
第一步:进图/etc/fdfs目录
命令:cd /etc/fdfs
第二步:拷贝一份client.conf配置文件、
命令:cp client.conf.sample client.conf
第三步:编辑client.conf文件
命令:vim /etc/fdfs/client.conf
修改内容如下:
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092629816-6772478.png)
第四步:查看可执行文件
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092636988-231027020.png)
第五步:开始上传
命令:/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /fastdfs/tracker/bg1.jpg
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092645867-1433660017.png)
发现出错了,我们尝试去开放storage的端口,然后再进行尝试,发现执行成功,如下图:
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092656808-1839250165.png)
我们到storage服务器上查看是否成功,如下图:
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092703906-918776920.png)
FastDFS与Nginx整合
首先在storage存储节点上安装fastdfs-nginx-module_v1.16.tar.gz包整合
第一步:进到压缩文件的目录准备进行解压
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092720900-2087274985.png)
第二步:解压到/usr/local/fast/ 路径下
命令:tar -zxvf fastdfs-nginx-module_v1.16.tar.gz -C /usr/local/fast
第三步:进入目录
命令:cd /usr/local/fast/fastdfs-nginx-module/
第四步:修改配置文件
命令:vim /usr/local/fast/fastdfs-nginx-module/src/config
修改内容如下:去掉路径中的local即可
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092729503-1746181703.png)
安装nginx
第一步:下载nginx
先到我们需要存储的路径下
命令:cd /usr/local/software
wget下载:
第二步:把nginx进行解压缩
命令:tar -zxvf nginx-1.6.2.tar.gz -C /usr/local
第三步:下载所依赖库文件
命令:yum install pcre
命令:yum install pcre-devel
命令:yum install zlib
命令:yum install zlib-devel
第四步:进到解压的nginx-1.6.2中
命令:cd /usr/local/nginx-1.6.2/
第五步:加入模块命令
命令:./configure --add-module=/usr/local/fast/fastdfs-nginx-module/src/
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092738649-630373384.png)
无报错信息
第六步:当前目录下编译和安装
命令:make && make install
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092746503-1472115660.png)
第七步:进到nginx-module的src下
命令:cd /usr/local/fast/fastdfs-nginx-module/src
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092754987-680816001.png)
第八步:复制fastdfs-nginx-module中的配置文件到 /etc/fdfs 目录中
命令:cp /usr/local/fast/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
第九步:修改我们刚刚copy过来的mod_fastdfs.conf文件
命令:vim /etc/fdfs/mod_fastdfs.conf
修改内容:
1.连接超时时间
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092804834-2132457754.png)
2.跟踪器路径配置
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092915616-136422465.png)
3.通过url来访问文件
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092923909-1902071542.png)
4.storage的位置
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092932354-1079160268.png)
保存退出!
第十步:复制FastDFS里的2个文件到/etc/fdfs目录中
进入目标目录
命令:cd /usr/local/fast/FastDFS/conf/ && ll
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092945878-1174278476.png)
开始拷贝
命令:cp http.conf mime.types /etc/fdfs/
第十一步:创建一个软连接,在/fastdfs/storage文件存储目录下创建软连接,将其链接到实际存放数据的目录
命令:ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00
第十二步:修改nginx的配置文件
进入目标目录
命令:cd /usr/local/nginx/conf && ll
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129092958741-1102747019.png)
开始修改
命令:vim nginx.conf
修改内容如下:
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129093007133-2058424898.png)
Nginx配置文件里的端口要和配置FastDFS存储中的storage.conf文件配置一致,也就是
(http.server_port=8888)
保存并退出
验证:
进入到storage配置文件的目录
命令:cd /etc/fdfs/ && ll
查看配置文件storage.conf的尾部几行
命令:tail storage.conf
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129093017047-1225948275.png)
继续修改nginx的配置文件
命令:cd /usr/local/nginx/conf/ && vim nginx.conf
修改内容如下:
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129093025928-529495731.png)
第十三步:检查防火墙,然后启动nginx服务
命令:/usr/local/nginx/sbin/nginx
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129093034258-82387290.png)
第十四步:测试
到storage的目录下并查看
命令:cd /fastdfs/storage/data && ll
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129093042478-90735381.png)
我们会发现我们建立的软连接在这
之后,在windows下的浏览器中输入:
如果访问不了的话就到storage的服务器上开放一下8888端口,开放方法参考上面内容。
访问成功显示:
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129093051483-1900947824.png)
这样就说明我们的nginx配好了。
之后在浏览器地址中输入:
我们就可以看到测试时上传的文件了,效果如下
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129093100504-458910144.png)
设置静态ip
首先进到配置文件目录下
命令:cd /etc/sysconfig/network-scripts/ && ls
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129093109738-945026425.png)
进行修改:
命令:vim ifcfg-eno16777736
修改内容如下:
![](https://img2018.cnblogs.com/i-beta/1748647/201911/1748647-20191129093117130-1495232772.png)
修改完成后重启服务
命令:service network restart