LINUX下安装fastDFS

Linux下的安装部署fastdfs,需要分别安装fastdfs-nginx-module、fastdfs、nginx、libfastcommon。

首先需要装备安装包以及一个干净的linux服务器,安装包可以自己下载 https://sourceforge.net/projects/fastdfs/files/ 。

也可以点击下面的百度云盘获取:

链接:https://pan.baidu.com/s/1qrVrI19TrEcjTjawk79-eg
提取码:upcj

一、准备工作

1,安装gcc(编译时需要)

yum install -y gcc gcc-c++

2,安装libevent(运行时需要)

yum -y install libevent

 

3,安装创建目录,上传所有文件

mkdir -p /fileservice/fast

cd /fileservice/fast

二、安装libfastcommon

1、进入fast目录:

cd /fileservice/fast

 2、解压文件:

tar -zxvf libfastcommon-1.0.35.tar.gz

3、进入libfast文件目录:

cd libfastcommon-1.0.35

4、执行编译:

./make.sh

5、安装:

./make.sh install

 三、安装fastDFS

1、安装相关依赖库(依次执行下面的命令):

yum install perl
yum install pcre
yum install pcre-devel
yum install zlib
yum install zlib-devel
yum install openssl
yum install openssl-devel

2、进入fast目录:

cd /fileservice/fast

3、解压文件:

tar -zxvf fastdfs-5.11.tar.gz

4、进入解压后的目录:

cd fastdfs-5.11

5、执行编译:

./make.sh

6、安装:

./make.sh install

 7、查看tracker和storage的可执行脚本(后面有用):

ll /etc/init.d/ | grep fdfs

8、准备配置文件  默认在/etc/fdfs/下面:

cd /etc/fdfs/

 9、先把配置文件名中的sample去了。[可以复制一份]:

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

 10、然后修改tracker的存放数据和日志的目录:

mkdir -p /home/dongl/fastdfs/tracker

11、配置和启动tracker,切换目录到: /etc/fdfs/ 目录下:

cd /etc/fdfs/

12、修改tracker.conf

vi tracker.conf

base_path=/home/yuqing/fastdfs 改为: base_path=/home/dongl/fastdfs/tracker

13、启动tracker,运行如下命令:

service fdfs_trackerd start

 注意:在/home/dongl/fastdfs/tracker 目录下生成两个目录, 一个是数据,一个是日志;

cd /home/dongl/fastdfs/tracker

14、 配置和启动storage,切换目录到: /etc/fdfs/ 目录下:

cd /etc/fdfs/

15、修改storage.conf:

vi storage.conf

group_name=group1 #配置组名

base_path=/home/yuqing/fastdfs 改为: base_path=/home/dongl/fastdfs/storage

#store存放文件的位置(store_path)

store_path0=/home/yuqing/fastdfs 改为: store_path0=/home/dongl/fastdfs/storage

如果有多个挂载磁盘则定义多个store_path,如下

store_path1=.....

store_path2=......

配置tracker服务器:IP

tracker_server=xx.xx.xx.xx:22122

如果有多个则配置多个tracker

16、创建/home/dongl/fastdfs/storage 目录

mkdir -p /home/dongl/fastdfs/storage

17、启动storage, 运行命令如下:

service fdfs_storaged start

18、启动完成后进入 /home/dongl/fastdfs/storage/data 目录下,显示目录如下:

cd /home/dongl/fastdfs/storage/data

19、切换目录到 /etc/fdfs/ 目录下

cd /etc/fdfs/

20、修改client.conf :

vi client.conf

修改基本路径和tracker_server如下:

/home/dongl/fastdfs/storage

注意:若tracker有多个,可以配置多个,如下:

#tracker_server=......

#tracker_server=......

21、下面简单测试一下:

拷贝一张图片dl.jpg到服务器上的 /root/目录下

运行如下(运行测试程序,读取/etc/fdfs/client.conf 文件,上传/root/目录下的dl.jpg文件)

/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /root/dl.jpg

以上图中的文件地址:http://192.168.10.41/group1/M00/00/00/wKgKKWDmWeCAEDp2AANnVZ-mwTQ449.jpg

对应storage服务器上的/home/dongl/fastdfs/storage/data/00/00/wKgKKWDmWeCAEDp2AANnVZ-mwTQ449.jpg 文件;

到这里fastDFS就已经安装完了,但是还没有与nginx整合,无法通过http下载。

四、FastDFS 和nginx整合

 在每个tracker上安装nginx,的主要目的是做负载均衡及实现高可用。如果只有一台tracker可以不配置nginx。

 一个tracker对应多个storage,通过nginx对storage负载均衡。

1、在storage 上安装nginx------进入 fileservice/fast/ :

cd /fileservice/fast/

2、解压fastdfs-nginx-module-1.20.tar.gz

tar -zxvf  fastdfs-nginx-module-1.20.tar.gz

3、切换目录到: fastdfs-nginx-module-1.20/src 目录下:

cd fastdfs-nginx-module-1.20/src

4、修改config文件,将文件中的所有 /usr/local/ 路径改为 /usr/:

修改之后ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"

vi config

5、将fastdfs-nginx-module/src下的mod_fastdfs.conf拷贝至/etc/fdfs/下:

cp mod_fastdfs.conf /etc/fdfs/

6、并修改 /etc/fdfs/mod_fastdfs.conf 的内容:

vi /etc/fdfs/mod_fastdfs.conf

tracker_server=192.168.xx.xx:22122 

tracker_server=192.168.172.20:22122 #(多个tracker配置多行)

url_have_group_name=true #url中包含group名称

store_path0=/home/fdfs_storage #指定文件存储路径(上面配置的store路径)

7、进入之前解压的fastdfs目录下,把http.conf、mime.conf移动至/etc/fdfs

cd /fileservice/fast/fastdfs-5.11/conf/

cp http.conf mime.types /etc/fdfs/

8、Nginx的安装------进入/fileservice/fast/:

cd /fileservice/fast/

9、解压 nginx-1.15.2.tar.gz

tar -zxvf nginx-1.15.2.tar.gz

10、进入nginx解压的目录下:

cd nginx-1.15.2/

11、加入模块命令配置:

./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=/fileservice/fast/fastdfs-nginx-module-1.20/src

12、编译并安装:

make && make install

13、修改nginx配置:

cd /opt/nginx/conf
vi nginx.conf

 14、启动nginx:

cd /usr/bin/
./nginx

15、在浏览器中访问上传到fastDFS的图片:

因为Centos系统有防火墙,需要先关闭掉,才可以在浏览器中访问;

CentOS 7.0默认使用的是firewall作为防火墙;若没有启用iptables 作为防火墙,则使用以下方式关闭防火墙:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

若已经启用iptables作为防火墙,则使用以下方式关闭:

service iptables stop #临时关闭防火墙

chkconfig iptables off #永久关闭防火墙

在谷歌浏览器中或者直接用postman访问刚才上传的图片:

http://192.168.10.41/group1/M00/00/00/wKgKKWDmWeCAEDp2AANnVZ-mwTQ449.jpg

原文地址:https://www.cnblogs.com/dongl961230/p/14983515.html