看过我上一篇博客的朋友应该知道我构建了两个centos 虚拟机,ps 另外我自己还部署了一个ubuntu 系统。现在我就基于上面的两台机器进行部署FastDFS 文件服务器,其他linux系统类推…
FastDFS
这里贴一下 FastDFS的官方教学install地址
1.机器上安装git :
sudo yum install -y git
同时也可以事先将需要的库进行安装:
yum -y install vim wget unzip
2,下载 common () :
git clone https://github.com/happyfish100/libfastcommon.git
中途安装一个gcc :
yum -y install gcc
以上可能存在无法clone 成功的情况,可以直接将地址上的文件包下载下来,然后进行:
unzip libfastcommon-master.zip
下载(或者解压)完成之后进入文件夹 直接按照官网执行脚本:
./make.sh clean && ./make.sh && ./make.sh install
3.下载fastDF源文件:
切换到上层文件路径 : 然后执行:
git clone https://github.com/happyfish100/fastdfs.git
cd fastdfs; git checkout V6.07
./make.sh clean && ./make.sh && ./make.sh install
4,设置配置文件:
./setup.sh /etc/fdfs
5,修改相关的配置文件
这三个配置文件中:
# vim client.conf
base_path=base_path=/home/software/fastfdfs/config/client
tracker_server=192.168.78.129:22122
# vim storage.conf
base_path=base_path=/home/software/fastfdfs/fdfa/storage
store_path0=/home/software/fastfdfs/config/storage
tracker_server=192.168.78.129:22122
#vim tracker.conf
base_path=/home/software/fastfdfs/config/tracker
store_group=group1
最后重新启动 tracker 与 storage
fdfs_trackerd /etc/fdfs/tracker.conf start
fdfs_trackerd /etc/fdfs/storage.conf start
测试上传:
fdfs_test /etc/fdfs/client.conf upload /opt/smile/宝儿姐.jpg
出现下面的就代表成功
并且在storage.conf配置文件路径下能够看见这个文件信息。
##安装nginx访问图片
#第一步 安装相关的依赖:
yum -y install gcc-c++ zlib-devel pcre-devel
#安装nginx:
wget http://nginx.org/download/nginx-1.14.0.tar.gz
#解压安装包
tar zxvf nginx-1.14.0.tar.gz
#安装 fastDFS特定的nginx module
git clone https://github.com/happyfish100/fastdfs-nginx-module
#然后切换到之前的nginx 文件下执行:
./configure --prefix=/home/software/nginx --add-module=/fastdfs-nginx-module/src
#然后上面不报错之后 进行
make && make install
然后修改 : mod_fastdfs.conf
vim /etc/fdfs/mod_fastdfs.conf
tracker_server=192.168.78.129:22122
url_have_group_name = true
进行nginx配置文件的修改:
vim /home/software/nginx/conf/nginx.conf
ngx_fastdfs_module;
然后在安装nginx 路径中的sbin 环境中执行 配置文件检查
./nginx -t -c /home/software/nginx/conf/nginx.conf
检测没有问题就重新启动 nginx
./nginx
安装完之后尝试 重新上传文件测试:
我遇到问题 :
:tracker_query_storage fail, error no: 2, error info: No such file or directory
解决方法 重启 tracker 以及 storage
可以先将之前启动的文件tracker 以及storage 关闭
ps -ef |grep fdfs
kill -9 xxxx
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
然后显示上传完成:
复制这个连接进行浏览器访问(可能出现问题将防火墙进行关闭):
以上单个的节点fastDFS安装完成。
如果需要构建集群的话:只需要再次按照这个操作从新安装一套:
主要只要讲 重要的三个文件中 的 tracker 中的 tracker 以及storage 分配好就行
详细说明: 可以看下面的修改指令: 我将之前建立好的 129 上面的数据中的除了配置节点之外的三个配置文件中的tracker_server 对应的地址改为了 今天新搭建的130 节点 ,然后重新启动129 中的 tracker 以及s torage 结点 。
重要修改点:
tracker_server 在三个配置文件中都存在
storage.conf 中的 group_name中 同一分组的文件才能进行同步,不同文件的不会进行同步。
测试结果:130上传文件进行了分布存储,轮询机制。并且前天上传的文件也同步到啦今天新搭建的 130 服务器上 ——————>数据迁移思想!!!!
好啦关于搭建 FastDF文件服务器的单机以及集群到此结束。
最后附加一个 由于集群机器要实现自启动nginx以及fastDFS :
vim /etc/rc.local
/home/software/nginx/sbin/nginx
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf