今天抽时间讲一下在linux上安装配置FastDFS文件系统
FastDFS里有两个服务,一个是tracker server,另一个是storage server
所以首先需要准备好两台linux机器,之前写过快速克隆虚拟机的文章,有需要的可以参考一下
VMware虚拟机怎么快速克隆一台linux
这里我准备的是192.168.1.31,192.168.1.32这两台机器
准备好机器后,将下边需要用到的包上传到两台linux机器上,我是放到了/usr/local/software 下
包下载地址:https://pan.baidu.com/s/13E3Dhg7_TGb3fxHGue9lXA
提取码:31ts
准备工作做好以后,开始一步步安装,按照下边的步骤来,保证可以搭建成功!
1 上传libfastcommon-master.zip到/usr/local/software下
2 进行解压libfastcommon-master.zip:
命令:unzip libfastcommon-master.zip -d /usr/local/fast/
3 进入目录:cd /usr/local/fast/libfastcommon-master/
4 进行编译和安装:
命令:./make.sh
命令:./make.sh install
注意上边标红的安装的路径:也就是说,运行了./make.sh install命令后默认会将我们的libfastcommon安装到/usr/lib64/这个位置。
5 进行软件创建
FastDFS主程序设置的目录为/usr/local/lib/,所以我们需要创建/usr/lib64/下的一些核心执行程序的软连接文件。
命令:mkdir /usr/local/lib/
命令:ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
命令:ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
命令:ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
命令:ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
1 进入到cd /usr/local/software下,解压FastDFS_v5.05.tar.gz文件
命令:cd /usr/local/software
命令:tar -zxvf FastDFS_v5.05.tar.gz -C /usr/local/fast/
2 安装编译
命令:cd /usr/local/fast/FastDFS/
编译命令:./make.sh
安装命令:./make.sh install
3 采用默认安装方式的脚本文件说明:
命令 cd /etc/init.d/ && ls | grep fdfs
3.1 服务脚本在:
/etc/init.d/fdfs_trackerd
/etc/init.d/fdfs_storaged
3.2 配置文件在:
/etc/fdfs/client.conf.sample 这个是指客户端的配置
/etc/fdfs/tracker.conf.sample 这个是指跟踪器的配置
/etc/fdfs/storage.conf.sample 这个是指storage的配置
3.3 命令行工具在/usr/bin/目录下Fdfs_*的一些列执行脚本
4 因为FastDFS服务脚本设置的bin目录为/usr/local/bin/下,但是实际我们安装在了/usr/bin/下面。所以我们需要修改FastDFS配置
文件中的路径,也就是需要修改2个配置文件:
命令:vim /etc/init.d/fdfs_storaged
进行全局替换命令:%s+/usr/local/bin+/usr/bin
命令:vim /etc/init.d/fdfs_trackerd
进行全局替换命令:%s+/usr/local/bin+/usr/bin
1 进入 cd/etc/fdfs/目录配置跟踪器文件(注意是192.168.1.31节点),把tracker.conf.sample文件进行cope一份:去修改tracker.conf文件
2 修改tracker.conf文件
命令:vim /etc/fdfs/tracker.conf
如下图所示:我们暂时修改配置文件里的base_path即可。
修改为自己的路径地址:base_path=/fastdfs/tracker
注意:对于tracker.conf配置文件参数解释可以找官方文档,地址为:
http://bbs.chinaunix.net/thread-1941456-1-1.html
3 最后我们一定要创建上边配置的目录(也就是/fastdfs/tracker):
命令:mkdir -p /fastdfs/tracker
4 打开防火墙:(我们在学习时可以不用考虑防火墙的问题)
Vim /etc/sysconfig/iptables
添加:-A INPUT -m state --state NEW -m tcp -p tcp --dport 22122 -j ACCEPT
重启:service iptables restart
自己搭建学习的话可以直接关闭防火墙
centos 7 以下输入以下:
service iptables stop 关闭防火墙
centos 7及以上输入以下:
systemctl stop firewalld.service && systemctl disable firewalld.service 关闭防火墙
5 启动跟踪器
目录命令:cd /fastdfs/tracker/ && ll
启动tracker命令:/etc/init.d/fdfs_trackerd start
查看进程命令:ps -el | grep fdfs
停止tracker命令:/etc/init.d/fdfs_trackerd stop
如图所示:
6 可以设置开机启动跟踪器:(一般生产环境需要开机启动一些服务,如keepaliv
ed、linux、tomcat等等)
命令:vim /etc/rc.d/rc.local
加入配置:/etc/init.d/fdfs_trackerd start
1 进入文件目录:cd /etc/fdfs/,进行copy storage文件一份
命令:cd /etc/fdfs/
命令:cp storage.conf.sample storage.conf
2 修改storage.conf文件
命令:vim /etc/fdfs/storage.conf
修改内容:
base_path=/fastdfs/storage
store_path0=/fastdfs/storage
tracker_server=192.168.1.31:22122
http.server_port=80
3 创建存储目录:mkdir -p /fastdfs/storage
4 打开防火墙:
命令:vim /etc/sysconfig/iptables
添加:-A INPUT -m state --state NEW -m tcp -p tcp --dport 23000 -j ACCEPT
重启:service iptables restart
自己搭建学习的话可以直接关闭防火墙
centos 7 以下输入以下:
service iptables stop 关闭防火墙
centos 7及以上输入以下:
systemctl stop firewalld.service && systemctl disable firewalld.service 关闭防火墙
5 启动存储(storage)
命令:/etc/init.d/fdfs_storaged start (关闭:/etc/init.d/fdfs_storaged stop)
(初次启动成功后会在/fastdbf/storage/ 目录下创建 data、logs俩个目录)
6 查看FastDFS storage 是否启动成功
命令:ps -ef | grep fdfs
并且我们进入到/fastdfs/storage/data/文件夹下会看到一些目录文件(256*256)
,如下:
命令:cd /fastdfs/storage/data/ && ls
7 同理,也可以设置开机启动存储器:(一般生产环境需要开机启动一些服务,
如keepalived、linux、tomcat等等)
命令:vim /etc/rc.d/rc.local
加入配置:/etc/init.d/fdfs_storaged start
到此为止我们的FastDFS环境已经搭建完成!
1 首先需要先安装nginx,之前的文章也写过安装ng的步骤,可以参考一下
linux环境下安装nginx
2 然后我们在存储节点上(192.168.1.32)安装fastdfs-nginx-module_v1.16.tar.gz包进行整合。
目录命令:cd /usr/local/software/
解压命令:tar -zxvf /usr/local/software/fastdfs-nginx-module_v1.16.tar.gz -C /usr/local/fast/
3 进入目录:cd fastdfs-nginx-module/src/
4 编辑配置文件config
命令: vim /usr/local/fast/fastdfs-nginx-module/src/config
修改内容:去掉下图中的local文件层次
修改完毕为:
5 FastDFS与nginx进行集成
首先把之前的nginx进行删除
目录命令:cd /usr/local/
删除命令:rm -rf nginx
进入到nginx目录命令:cd nginx-1.6.2/
加入模块命令:./configure --add-module=/usr/local/fast/fastdfs-nginx-module/src/
重新编译命令: make && make install
6 复制fastdfs-ngin-module中的配置文件,到/etc/fdfs目录中,如图所示:
copy命令:cp /usr/local/fast/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
7 进行修改 /etc/fdfs/ 目录下,我们刚刚copy过来的mod_fastdfs.conf 文件
命令:vim /etc/fdfs/mod_fastdfs.conf
修改内容:比如连接超时时间、跟踪器路径配置、url的group配置、
connect_timeout=10
tracker_server=192.168.1.31:22122
url_have_group_name = true
store_path0=/fastdfs/storage
8 复制FastDFS里的2个文件,到/etc/fdfs目录中,如图所示:
目录命令:cd /usr/local/fast/FastDFS/conf/
Copy命令:cp http.conf mime.types /etc/fdfs/
9 创建一个软连接,在/fastdfs/storage文件存储目录下创建软连接,将其链接到实际存放数据的目录。
命令:ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00
10 修改Nginx配置文件
命令:vim nginx.conf
修改配置内容如下图所示:
修改内容为:
listen 80;
server_name localhost;
location ~/group([0-9])/M00 {
#alias /fastdfs/storage/data;
ngx_fastdfs_module;
}
注意:nginx里的端口要和第五步 配置FastDFS存储中的storage.conf文件配置一致,
也就是(http.server_port=80)
启动ng命令:/usr/local/nginx/sbin/nginx
最后看一下是否能正常访问一个文件
可以看到我们访问http://192.168.1.32/group1/M00/00/00/wKgBIF0SXlGAPjzpAA1eBLGVLow126.png
这个地址已经能拿到我们上传的图片了
最后总结一下启动、停止服务的命令:
启动命令:
启动tracker命令:/etc/init.d/fdfs_trackerd start
查看进程命令:ps -el | grep fdfs
启动storage命令:/etc/init.d/fdfs_storaged start
查看进程命令:ps -el | grep fdfs
启动nginx命令:/usr/local/nginx/sbin/nginx
停止命令:
停止tracker命令:/etc/init.d/fdfs_trackerd stop
关闭storage命令:/etc/init.d/fdfs_storaged stop
关闭nginx命令:/usr/local/nginx/sbin/nginx -s stop