第2-1-2章 传统方式安装FastDFS-附FastDFS常用命令


3 安装配置

下面我们在单台机器上安装FastDFS,操作系统是64位的CentOS7。

名称 说明
centos 7.x
libfatscommon FastDFS分离出的一些公用函数包
FastDFS FastDFS本体
fastdfs-nginx-module FastDFS和nginx的关联模块
nginx nginx1.15.4

3.1 安装GCC

FastDFS是由C语言开发的,所以首先我们先安装C/C++的一个编译器:GCC。

[root@node5-vm10 ~]# yum -y install gcc-c++

#验证GCC
[root@node5-vm10 ~]# whereis gcc
gcc: /usr/bin/gcc /usr/lib/gcc /usr/libexec/gcc /usr/share/man/man1/gcc.1.gz

3.2 安装libevent

事件通知库libevent也是需要提前安装的,这个库是由C语言开发的,具有轻量级、开源的、高性能的特点。

[root@node5-vm10 ~]# yum -y install libevent

3.3 安装libfastcommon

libfastcommon是FastDFS官方提供的,libfastcommon包含了FastDFS运行所需要的一些基础库。

#下载
[root@node5-vm10 ~]# cd /usr/local/src
[root@node5-vm10 src]#  wget -O libfastcommon-1.0.43.tar.gz  https://codeload.github.com/happyfish100/libfastcommon/tar.gz/V1.0.43

#解压
[root@node5-vm10 src]# tar -zxvf libfastcommon-1.0.43.tar.gz 

#编译安装
[root@node5-vm10 src]# cd libfastcommon-1.0.43
[root@node5-vm10 libfastcommon-1.0.43]# ./make.sh 
[root@node5-vm10 libfastcommon-1.0.43]# ./make.sh install

3.4 安装FastDFS

#切换目录
[root@node5-vm10 libfastcommon-1.0.43]# cd /usr/local/src/ 

#下载
[root@node5-vm10 src]# wget -O fastdfs-6.06.tar.gz https://codeload.github.com/happyfish100/fastdfs/tar.gz/V6.06

#解压
[root@node5-vm10 src]# tar -zxvf fastdfs-6.06.tar.gz 

#安装
[root@node5-vm10 src]# cd fastdfs-6.06
[root@node5-vm10 fastdfs-6.06]# ./make.sh
[root@node5-vm10 fastdfs-6.06]# ./make.sh install

默认安装方式安装后的相应文件与目录

A、服务脚本:

/etc/init.d/fdfs_storaged
/etc/init.d/fdfs_trackerd

B、配置文件(这三个是作者给的样例配置文件)

/etc/fdfs/client.conf.sample
/etc/fdfs/storage.conf.sample
/etc/fdfs/tracker.conf.sample

C、命令工具在 /usr/bin/ 目录下:

fdfs_appender_test
fdfs_appender_test1
fdfs_append_file
fdfs_crc32
fdfs_delete_file
fdfs_download_file
fdfs_file_info
fdfs_monitor
fdfs_regenerate_filename
fdfs_storaged
fdfs_test
fdfs_test1
fdfs_trackerd
fdfs_upload_appender
fdfs_upload_file

D、服务启动命令在:/usr/local/src/fastdfs-6.06

restart.sh
setup.sh
stop.sh

3.5 安装fastdfs-nginx-module

我们在使用FastDFS部署一个分布式文件系统的时候,通过FastDFS的客户端API来进行文件的上传、下载、删除等操作。同时通过FastDFS的HTTP服务器来提供HTTP服务。但是FastDFS的HTTP服务较为简单,无法提供负载均衡等高性能的服务,所以FastDFS的开发者(淘宝的架构师余庆)为我们提供了Nginx上使用的FastDFS模块(也可以叫FastDFS的Nginx模块)。

FastDFS 通过 Tracker 服务器,将文件放在 Storage 服务器存储, 但是集群环境下同组存储服务器之间需要进行文件复制, 有同步延迟的问题。假设 Tracker 服务器将文件上传到了 storage-server-1,上传成功后文件 ID已经返回给客户端。此时 FastDFS 存储集群机制会将这个文件同步到同组存储storage-server-2,在文件还没有复制完成的情况下,客户端如果用这个文件 ID 在 storage-server-2 上取文件,就会出现文件无法访问的错误。而 fastdfs-nginx-module 可以重定向文件链接到源服务器取文件,避免客户端由于复制延迟导致的文件无法访问错误。

[root@node5-vm10 fdfs]# cd /usr/local/src
[root@node5-vm10 src]# git clone https://github.com/happyfish100/fastdfs-nginx-module.git --depth 1

[root@node5-vm10 src]# cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs
[root@node5-vm10 src]# cp /usr/local/src/fastdfs-6.06/conf/http.conf /etc/fdfs/
[root@node5-vm10 src]# cp /usr/local/src/fastdfs-6.06/conf/mime.types /etc/fdfs/

3.5 安装Nginx

安装nginx的主要目的是做负载均衡及实现高可用。tracker集群环境下,需要在每个Tracker上安装Nginx, 如果只有一台tracker服务器,可以不配置Nginx

Storage服务器安装Nginx:

cd /usr/local/src

#下载nginx压缩包
wget http://nginx.org/download/nginx-1.15.4.tar.gz 

#解压
tar -zxvf nginx-1.15.4.tar.gz
cd nginx-1.15.4/

#添加fastdfs-nginx-module模块
./configure --add-module=/usr/local/src/fastdfs-nginx-module/src/ 

#编译安装
make && make install 

配置Nginx:

vim /etc/fdfs/mod_fastdfs.conf
#需要修改的内容如下
tracker_server=172.17.0.115:22122  #tracker服务器IP和端口
url_have_group_name=true
base_path=/home/fastdfs/storage
store_path0=/home/fastdfs/storage/base

#配置nginx.config
vim /usr/local/nginx/conf/nginx.conf
#添加如下配置
server {
    listen       8188;    ## 该端口为storage.conf中的http.server_port相同
    server_name  localhost;
    location ~/group[0-9]/ {
        ngx_fastdfs_module;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
    root   html;
    }
}

启动Nginx:

/usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s reload

3.6 配置FastDFS Tracker

3.5.1 配置Tracker

复制创建tracker.conf

[root@node5-vm10 fastdfs-6.06]# cd /etc/fdfs
[root@node5-vm10 fdfs]# ll
total 32
-rw-r--r--. 1 root root  1909 Apr  3 11:11 client.conf.sample
-rw-r--r--. 1 root root 10246 Apr  3 11:11 storage.conf.sample
-rw-r--r--. 1 root root   620 Apr  3 11:11 storage_ids.conf.sample
-rw-r--r--. 1 root root  9138 Apr  3 11:11 tracker.conf.sample

[root@node5-vm10 fdfs]# cp tracker.conf.sample tracker.conf

修改配置文件:

[root@node5-vm10 fdfs]# vim tracker.conf
# HTTP port on this tracker server
# 修改端口
http.server_port = 8180   
# the base path to store data and log files
base_path =  /home/fastdfs/tracker

注意文件夹要手工创建好:

[root@node5-vm10 fdfs]# mkdir -p  /home/fastdfs/tracker

3.5.2 启动与关闭

使用以下任一命令启动Tracker服务:

[root@node5-vm10 fdfs]# /etc/init.d/fdfs_trackerd start
Reloading systemd:                                         [  OK  ]
Starting fdfs_trackerd (via systemctl):                    [  OK  ]
# 或
[root@node5-vm10 fdfs]# service fdfs_trackerd start
Starting fdfs_trackerd (via systemctl):                    [  OK  ]
# 或
[root@node5-vm10 fdfs]# systemctl start fdfs_trackerd

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/aiops/292688.html

(0)
上一篇 2022年11月7日 17:38
下一篇 2022年11月7日 18:36

相关推荐

发表回复

登录后才能评论