在centos下搭建和配置FastDfs

前期准备

注意

  • fastdfs 5.11版本对照:Version 5.11对应的fastdfs-nginx-module的Version 1.20 
  • fastdfs  5.10版本对照:Version 5.10对应的fastdfs-nginx-module的Version 1.19

各安装包请自行寻找哦,这点能力还是有点吧。

进入正题,安装开始
安装Linux环境下所需安装工具

yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget

成功示意:
enter description here
等待下载完成后,输入以下命令

yum install lrzsz -y

成功示意:
enter description here
使用XFTP将安装包放入/home/software
enter description here
至此前期准备工作已经完成,下面开始依次安装它们。

安装libfastcommon

解压刚才上传的文件,然后进入解压完成的文件目录

unzip libfastcommon-master.zip 

cd libfastcommon-master

ll

我们将看到
enter description here
运行make.sh进行安装

./make.sh

./make.sh install

正常应该显示如下
enter description here
然后创建软连接(快捷方式)

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

安装FastDfs

回到/home/software目录下,解压fastdfs5.11

cd /home/software

unzip fastdfs-5.11.zip

进入fastdfs-5.11并安装

cd fastdfs-5.11
./make.sh
./make.sh install

无报错,正常应为如下界面
enter description here
然后查看目录

[root@VM_0_5_centos fastdfs-5.11]# cd /etc/fdfs/
[root@VM_0_5_centos fdfs]# ll
total 24
-rw-r--r-- 1 root root 1461 Nov 25 18:14 client.conf.sample
-rw-r--r-- 1 root root 7927 Nov 25 18:14 storage.conf.sample
-rw-r--r-- 1 root root  105 Nov 25 18:14 storage_ids.conf.sample
-rw-r--r-- 1 root root 7389 Nov 25 18:14 tracker.conf.sample

运行如下命令,复制并修改名称去掉sample

cp client.conf.sample client.conf
cp storage.conf.sample storage.conf
cp tracker.conf.sample tracker.conf

至此,FastDFS安装完毕

安装tracker

首先创建tarcker工作目录,用来保存tracker的data和log。个人习惯,所有日志,数据,存放到/usr/fastdfs/fastdfs_tracker下面。

cd /usr
mkdir fastdfs
cd fastdfs
mkdir fastdfs_tracker

enter description here
enter description here

配置tracker

cd /etc/fdfs
vi tracker.conf

找到如下四处修改

1.disabled=false #默认开启 
2.port=22122 #默认端口号 
3.base_path=/usr/muyou/dev/fastdfs/fastdfs_tracker #刚刚创建的目录 
4.http.server_port=6666 #默认端口是8080

保存修改文件,然后我们启动tracker,命令如下

service fdfs_trackerd start

成功之后的界面
enter description here

给tracker加入开机启动,首先分配权限

chmod +x /etc/rc.d/rc.local

然后开始修改rc.local

vi /etc/rc.d/rc.local

在配置文件最后加下最后一句话即可

#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

touch /var/lock/subsys/local
service fdfs_trackerd start

保存,然后 查看tracker端口监听情况
enter description here
到此22122端口监听成功。

安装storage

在/usr/fastdfs下创建两个文件夹,分别是fastdfs_storage fastdfs_storage_data,其中fastdfs_storage_data是用来存储数据的,然后修改配置文件。

vi /etc/fdfs/storage.conf

##修改如下几处
1.disabled=false 
2.group_name=group1 #组名,根据实际情况修改 
3.port=23000  #设置storage的端口号,默认是23000,同一个组的storage端口号必须一致 
4.base_path=/usr/muyou/dev/fastdfs/fastdfs_storage  #设置storage数据文件和日志目录 
5.store_path_count=1 #存储路径个数,需要和store_path个数匹配 
6.store_path0=/usr/muyou/dev/fastdfs/fastdfs_storage_data #实际文件存储路径 
7.tracker_server=192.168.150.132:22122 #我CentOS7的ip地址+上面配置的Tracker端口 
8.http.server_port=8888 #设置 http 端口号

保存之后创建软引用

ln -s /usr/bin/fdfs_storaged /usr/local/bin

然后设置开机启动

vim /etc/rc.d/rc.local

#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

touch /var/lock/subsys/local
service fdfs_trackerd start
service fdfs_storaged start

查看服务是否启动

netstat -unltp | grep fdfs

enter description here
enter description here

到此fastdfs已经配置完成了。最后我们再确认一下,storage是否注册到了tracker中去。

/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

成功后可以看到:

ip_addr = 你的服务器IP地址(localhost.localdomain) ACTIVE 的字样

修改客户端配置文件

vi /etc/fdfs/client.conf
base_path=/usr/fastdfs/fastdfs_tracker #tracker服务器文件路径
tracker_server=122.51.112.113:22122 #tracker服务器IP地址和端口号
http.tracker_server_port=6666 # tracker 服务器的 http端口号,必须和tracker的设置对应起来

配置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,首先解压nginx,和fastdfs-nginx-module:

tar -zxvf nginx-1.12.0.tar.gz
unzip fastdfs-nginx-module-master.zip

然后进入nginx安装目录,添加fastdfs-nginx-module:

./configure --prefix=/usr/local/nginx --add-module=解压后fastdfs-nginx-module所在的位置 
./configure --prefix=/usr/local/nginx --add-module=/home/software/fastdfs-nginx-module-1.20/src

如果没有错误信息,开始安装

make && make install

nginx的默认目录是/usr/local/nginx 开始 配置storage和tracker的nginx

vi /usr/local/nginx/conf/nginx.conf

直接新建两个server,一个端口监听为9999,一个为9989(按需修改哦)。9999位storage的,9989位tracker的端口监听。然后在storage的server中加速location寻址,然后加上upstream指向tracker的nginx地址

 upstream fdfs_group1{
		server 127.0.0.1:9999;
	}
	server {
        listen       9999;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }
		location /group1/M00 {
            root /usr/fastdfs/fastdfs_storage_data/data;
            ngx_fastdfs_module;
        }
    }

	server {
        listen       9989;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location /group1/M00 {
            proxy_pass http://fdfs_group1;
        }
	}

然后进入FastDFS安装时的解压过目录,将其中http.conf和mime.types拷贝到/etc/fdfs目录下:

[root@localhost conf]# cd /home/software/fastdfs-5.11/conf
[root@localhost conf]# ls
anti-steal.jpg  http.conf   storage.conf      tracker.conf
client.conf     mime.types  storage_ids.conf
cp http.conf /etc/fdfs/
cp mime.types /etc/fdfs/

另外还需要把fastdfs-nginx-module安装目录中src目录下的mod_fastdfs.conf也拷贝到/etc/fdfs目录下:

cp /home/software/fastdfs-nginx-module-1.20/src/mod_fastdfs.conf /etc/fdfs/

然后修改刚刚拷贝的文件

vi /etc/fdfs/mod_fastdfs.conf

大概修改一下位置即可

base_path=/usr/fastdfs/fastdfs_storage  #保存日志目录
 tracker_server=122.51.112.113:22122 #tracker服务器的IP地址以及端口号
 storage_server_port=23000 #storage服务器的端口号
 url_have_group_name = true #文件 url 中是否有 group 名
 store_path0=/usr/fastdfs/fastdfs_storage_data   #存储路径
 group_count = 3 #设置组的个数,事实上这次只使用了group1

然后在最后添加三个组即可

[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/usr/fastdfs/fastdfs_storage_data

# group settings for group #2
# since v1.14
# when support multi-group, uncomment following section as neccessary
[group2]
group_name=group2
storage_server_port=23000
store_path_count=1
store_path0=/usr/fastdfs/fastdfs_storage_data

[group3]
group_name=group3
storage_server_port=23000
store_path_count=1
store_path0=/usr/fastdfs/fastdfs_storage_data

创建M00至storage存储目录的符号连接:

ln  -s  /usr/fastdfs/fastdfs_storage_data/data/ /usr/fastdfs/fastdfs_storage_data/data/M00

可以启动了

一些ngnix常用命令

/usr/local/nginx/sbin/nginx #启动
/usr/local/nginx/sbin/nginx -s -stop #停止
/usr/local/nginx/sbin/nginx -s -reload #重启
/usr/local/nginx/sbin/nginx/conf/nginx.conf -t #测试nginx.conf文件格式是否正确

启动ngnix,然后调用client上传图片。

/usr/bin/fdfs_upload_file  /etc/fdfs/client.conf  /home/software/1212.png#你放在linux的图片地址

添加成功后会给你返回一个地址
enter description here
然后我们使用http访问这个地址。

http://122.51.112.113:9999/group1/M00/00/00/rBEABV3c1KCASfA9AAQZyncqXA951.png

能够看到图片证明配置成功。
如果出现问题

  • 防火墙问题 输入:firewall-cmd --zone=public --add-port=9999/tcp --permanent 自行添加所需端口,然后使用firewall-cmd --reload重启,使用云服务器记得在安全组放行相关端口。
  • 测试是否能访问服务器网址下的9999和9989端口,如果均能访问而图片不能访问,那么就证明你的ngnix中配置的组映射有问题或者是mod_fastdfs.conf设置的有问题。仔细检查。
  • 另外,如果是JAVA使用,建议使用阿里一个大佬写的适合springboot使用的包进行辅助开发,比官方的好用一万倍。还是老话自行搜索哦。
posted @ 2020-07-10 16:21  LtPpp  阅读(216)  评论(0)    收藏  举报