感谢博友的搭建资料提供。https://www.cnblogs.com/guigujun/p/7804670.html
搭建工具的准备
-
原始作者的GitHub地址:https://github.com/happyfish100
-
注意,软件之间的版本会有差异。所以。从百度网盘下载已有的安装工具。亲测有效。
-
链接:https://pan.baidu.com/s/1ni3t5KESe0qmKFPaXYKLQg
提取码:z1q3。
-
centos7安装完成,并且网络正常。
-
查看ip命令:ip addr
注意:最好ip固定不变,以免修改ip麻烦。
CentOS7 FastDFS搭建
1、文件上传
将下载好的5个工具压缩包上传到centos系统的任意位置。root根目录即可。
2、安装 libfastcommon
- 用yum安装gcc依赖环境
yum -y install gcc-c++
- 根目录解压libfastcommon-master.zip
unzip libfastcommon-master.zip
- 进入解压的目录查看目录结构
cd /root/libfastcommon-master/ ll
- 分别执行命令进行安装。(在文件的安装目录下执行)
./make.sh ./make.sh install
- 安装成功后,libfastcommon默认会被安装到/usr/lib64/libfastcommon.so。但是FastDFS的主程序却在/usr/local/lib目录下
这个时候我们就要建立一个软链接了,实际上也相当于windows上的快捷方式。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
3、安装 FastDFS
- 根目录解压 fastdfs-master.zip
unzip fastdfs-master.zip
- 进入解压的目录查看目录结构
cd /root/fastdfs-master/ ll
- 分别执行命令进行安装。(在文件的安装目录下执行)
./make.sh ./make.sh install
- 如果没有报错。安装成功之后查看安装目录:
cd /etc/fdfs/ ll
- 在该安装目录下复制该三个文件,去掉.sample
cp client.conf.sample client.conf cp storage.conf.sample storage.conf cp tracker.conf.sample tracker.conf
4、安装 tracker
- 新建目录,用来保存tracker的data和log 。根据个人习惯,但是后期配置需要该目录的路径。
mkdir /opt/fastdfs_tracker
- 配置 tracker
- 打开配置文件 tracker.conf
vim /etc/fdfs/tracker.conf
- 修改如下数据。保存
1.disabled=false 2.port=22122 #默认端口号 3.base_path=/opt/fastdfs_tracker #刚刚创建的目录 4.http.server_port=8080 #默认端口是8080 5.bind_addr= 0.0.0.0 监听地址
- 打开配置文件 tracker.conf
- 启动 tarcker
启动成功后可以看到:service fdfs_trackerd start
- 进入刚刚创建的fastdfs_tracker目录,发现目录中多了data和log两个目录
cd /root/opt/fastdfs_tracker/ ll
- 给tracker加入开机启动
echo "service fdfs_trackerd start" |tee -a /etc/rc.d/rc.local
- 查看一下tracker的端口监听情况
netstat -unltp|grep fdfs
端口22122成功监听。
5、安装 storage
- 新建目录,两个目录:fastdfs_storage_data、fastdfs_storage
mkdir /opt/fastdfs_storage_data mkdir /opt/fastdfs_storage
- 修改 storage.conf
vi /root/etc/fdfs/storage.conf
1.disabled=false 2.group_name=group1 #组名,根据实际情况修改 3.port=23000 #设置storage的端口号,默认是23000,同一个组的storage端口号必须一致 4.base_path=/opt/fastdfs_storage #设置storage数据文件和日志目录 5.store_path_count=1 #存储路径个数,需要和store_path个数匹配 6.store_path0=/opt/fastdfs_storage_data #实际文件存储路径 7.tracker_server=10.207.130.187:22122 #我CentOS7的ip地址 8.http.server_port=8888 #设置http端口号
- 修改保存后创建软引用
ln -s /usr/bin/fdfs_storaged /usr/local/bin
-
启动storage
service fdfs_storaged start
- 设置storage开机启动
echo "service fdfs_storaged start" |tee -a /etc/rc.d/rc.local
- root目录下查看服务是否启动
netstat -unltp | grep fdfs
-
校验整合
到这里,fastdfs的东西都已安装完成,最后我们还要确定一下,storage是否注册到了tracker中去。
查看命令:/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
如图所示及成功:
6、客户端测试
- 解压客户端
unzip fastdfs-client-java-master.zip
- 修改客户端的配置文件
vi /etc/fdfs/client.conf
base_path=/opt/fastdfs_tracker #tracker服务器文件路径 tracker_server=10.207.130.187:22122 #tracker服务器IP地址和端口号 http.tracker_server_port=8080 # tracker 服务器的 http端口号,必须和tracker的设置对应起来
- 模拟文件上传
上传成功返回图片的路径:/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /root/1.jpg #这后面放的是图片的位置
组名:group1
磁盘:M00
目录:00/00
文件名称:Cs-Cu11NFRyAT1PGAADqJ2jztps983.jpg - 上传的图片会被上传到我们创建的storage_data目录下
cd /opt/fastdfs_storage_data/data/ ls ls 00/ ls 00/00/
实际文件存储路径下有创建好的多级目录。data下有256个1级目录,每级目录下又有256个2级子目录,总共65536个文件,新写的文件会以hash的方式被路由到其中某个子目录下,然后将文件数据直接作为一个本地文件存储到该目录中。
7、安装 nginx,访问服务器中的图片
如果想要访问上传的文件,就必须结合nginx来实现。
- 安装nginx所需的依赖lib
yum -y install pcre pcre-devel yum -y install zlib zlib-devel yum -y install openssl openssl-devel
- 安装 nginx 并 添加 fastdfs-nginx-module
- root目录下解压 nginx ,和 fastdfs-nginx-module
tar -zxvf nginx-1.10.3.tar.gz unzip fastdfs-nginx-module-master.zip
- 解压后进入nginx目录编译安装nginx,并添加 fastdfs-nginx-module
./configure --prefix=/usr/local/nginx --add-module=/root/fastdfs-nginx-module-master/src #解压后fastdfs-nginx-module所在的位置
- 如果上述正确,没报错。进行编译和安装
make make install
- root目录下解压 nginx ,和 fastdfs-nginx-module
- 查看nginx的安装目录
cd /usr/local/nginx/ ll
- 配置storage nginx
- 修改nginx.conf
vi /usr/local/nginx/conf/nginx.conf
- 修改监听端口 listen 9991, 并且新增 location
server { listen 9991; server_name localhost; # 新增该location location ~/group1/M00 { root /opt/fastdfs_storage/data; ngx_fastdfs_module; } }
- 进入FastDFS安装时的解压过的目录,将 http.conf 和 mime.types拷贝到 /etc/fdfs 目录下
cd /root/fastdfs-master/conf/ cp http.conf mime.types /etc/fdfs/ cp mime.types /etc/fdfs/
- 把 fastdfs-nginx-module安装目录中src目录下的mod_fastdfs.conf 也拷贝到 /etc/fdfs目录下
cd /root/fastdfs-nginx-module-master/src/ cp mod_fastdfs.conf /etc/fdfs/
- 对刚刚拷贝的mod_fastdfs.conf文件进行修改:
vi /etc/fdfs/mod_fastdfs.conf
base_path=/opt/fastdfs_storage #保存日志目录 tracker_server=10.207.130.187:22122 #tracker服务器的IP地址以及端口号 storage_server_port=23000 #storage服务器的端口号 url_have_group_name = true #文件url中是否有group名 store_path0=/opt/fastdfs_storage_data #存储路径 group_count = 1 #设置组的个数 #在文件最后添加[group1] [group1] group_name=group1 storage_server_port=23000 store_path_count=1 store_path0=/opt/fastdfs_storage_data
- 保存退出文件后,创建M00至storage存储目录的符号连接
ln -s /opt/fastdfs_storage_data/data/ /opt/fastdfs_storage_data/data/M00
- 启动 nginx
启动成功输入:curl localhost:9991。看是否出现nginx的欢迎界面/usr/local/nginx/sbin/nginx
- 修改nginx.conf
- 配置 tracker nginx
- 在nginx.cfg里在添加一个虚拟主机
vi /root/usr/local/nginx/conf/nginx.cfg
upstream fdfs_group1 { server 127.0.0.1:9991; } server { listen 80; server_name localhost; location /group1/M00 { proxy_pass http://fdfs_group1; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
- 重启 nginx
/usr/local/nginx/sbin/nginx -s reload
- 在nginx.cfg里在添加一个虚拟主机
- HTTP测试
浏览器访问原先上传过的图片:
http://10.207.130.187:9991/group1/M00/00/00/Cs-Cu11NFRyAT1PGAADqJ2jztps983.jpg
如果服务器的ip改变的操作
操作步骤:
-
修改 storage 的配置文件
vi /root/etc/fdfs/storage.conf
修改:tracker_server=10.207.130.192:22122 #改变的ip地址
-
修改客户端的配置文件
vi /etc/fdfs/client.conf
修改:tracker_server=10.207.130.192:22122 #tracker变化的服务器IP地址和端口号
-
修改 mod_fastdfs.conf 配置文件
vi /etc/fdfs/mod_fastdfs.conf
修改:tracker_server=10.207.130.192:22122 #tracker变化的服务器的IP地址以及端口号
-
重启虚拟机系统,启动tracker、storaged 和 nginx
service fdfs_trackerd start #启动tracker service fdfs_storaged start #启动storaged /usr/local/nginx/sbin/nginx #启动nginx
-
使用新ip地址即可访问上传的文件
http://10.207.130.192:9991/group1/M00/00/00/Cs-CwF1NYPuAYaZvAAVIXJRjxdQ957.jpg
服务器重启了之后的操作
使用脚本让 fastDFS 开机自动重启;
service fdfs_trackerd start #启动tracker
service fdfs_storaged start #启动storaged
/usr/local/nginx/sbin/nginx #启动nginx