手把手搭建集群系列(一)——FastDFS

FastDFS集群配置

所需资源

FastDFS/fastdfs-5.10.tar.gz

下载地址 -> https://github.com/happyfish100/fastdfs/releases

版本 -> tar.gz

FastDFS/fastdfs-nginx-module-master.zip

下载地址 -> https://github.com/happyfish100/fastdfs-nginx-module

版本 -> Clone or Download -> Download Zip

FastDFS/libfastcommon-master.zip

下载地址 -> https://github.com/happyfish100/libfastcommon

版本 -> Clone or Download -> Download Zip

Nginx/nginx-1.13.0.tar.gz

下载地址 -> http://nginx.org/en/download.html

版本 -> 无

Nginx/ngx_cache_purge-master.zip

下载地址 -> https://github.com/FRiCKLE/ngx_cache_purge

版本 -> Clone or Download -> Download Zip

0.配置之前

0.1 复制CentOS附件包内的FastDFS文件夹至/usr/local/server

0.2 复制CentOS附件包内的Nginx文件夹至/usr/local/server

0.3 Tracker服务器信息:

服务器地址 -> fdfs0/1.tianjie.group

服务驻留端口 -> 22122

反向代理端口 -> 80

0.4 Storage服务器信息:

服务器地址 -> fdfs2/3.tianjie.group

服务驻留端口 -> 23000

HTTP驻留端口 -> 9999

1.安装libfastcommon

1.1 安装依赖环境

yum install -y unzip zip
yum install -y gcc-c++

1.2 解压libfastcommon资源包

cd /usr/local/server/FastDFS
unzip libfastcommon-master.zip

1.3 执行安装

cd libfastcommon-master
./make.sh
./make.sh install

1.4 创建软连接

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

2.安装FastDFS

2.1 安装依赖环境

yum -y install gcc gcc-c++  make automake autoconf libtool perl

2.2 解压FastDFS资源包

cd /usr/local/server/FastDFS
tar -zxvf fastdfs-5.10.tar.gz

2.3 执行安装

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

2.4 创建配置文件

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

3.Tracker服务器配置

3.1 安装FastDFS(执行上述1-2步骤)

3.2 创建Tracker资源目录

mkdir /usr/local/server/FastDFS/Tracker

3.3 编辑Tracker配置文件

vi /etc/fdfs/tracker.conf

对配置文件做下述更改

disabled=false                                  #启用配置文件(默认启用)
port=22122                                      #设置tracker的端口号,通常采用22122这个默认端口
base_path=/usr/local/server/FastDFS/Tracker     #设置tracker的数据文件和日志目录

3.4 创建软连接

ln -s /usr/bin/fdfs_trackerd /usr/local/bin/
ln -s /usr/bin/stop.sh /usr/local/bin/
ln -s /usr/bin/restart.sh /usr/local/bin/

3.5 启动Tracker服务

service fdfs_trackerd start

3.6 防火墙配置(打开22122端口)

4.Tracker服务器Nginx(含缓存清理插件)配置

4.1 安装依赖环境

yum -y install pcre pcre-devel
yum -y install zlib zlib-devel
yum -y install openssl openssl-devel

4.2 解压Nginx资源包

cd /usr/local/server/Nginx
tar -zxvf nginx-1.13.0.tar.gz
unzip ngx_cache_purge-master.zip

4.3 配置和安装

cd /usr/local/server/Nginx/nginx-1.13.0
./configure --prefix=/usr/local/nginx --add-module=/usr/local/server/Nginx/ngx_cache_purge-master
make && make install

4.4 编辑Nginx配置文件

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

在http部分添加

proxy_cache_path /usr/local/server/Nginx/proxy_cache levels=1:2 keys_zone=http-cache:500m max_size=2g inactive=30d;
proxy_temp_path /usr/local/server/Nginx/proxy_cache/tmp;

在server部分更改

listen 8080

在文件末尾添加

include servers/*;

4.5 创建配置文件夹

mkdir servers && cd servers

4.6 新建反向代理配置信息

vi FastDFS.conf

添加下述配置信息

upstream fdfs_group1{
    #Storage服务器HTTP服务地址
    server fdfs2.tianjie.group:9999 weight=1;
    server fdfs3.tianjie.group:9999 weight=1;
}
server {
    listen 80;
    server_name fdfs0.tianjie.group;
    location /group1/M00 {
        proxy_cache http-cache;
        proxy_cache_valid 200 304 12h;
        proxy_cache_key $uri$is_args$args;
        proxy_pass http://fdfs_group1;
        expires 30d;
    }
    location ~/purge(/.*){
        allow all;
        deny all;
        proxy_cache_purge http-cache $1$is_args$args;
    }
}

4.7 防火墙配置(打开80端口)

4.8 打开Nginx服务

/usr/local/nginx/sbin/nginx

5.Storage服务器配置

5.1 安装FastDFS(执行上述1-2步骤)

5.2 创建Storage资源目录

mkdir /usr/local/server/FastDFS/Storage
mkdir /usr/local/server/FastDFS/Storage_Data

5.3 编辑Storage配置文件

vi /etc/fdfs/storage.conf

对配置文件做下述更改

disabled=false                                          #启用配置文件(默认启用)
group_name=group1                                       #组名,根据实际情况修改
port=23000                                              #设置storage的端口号,同一个组的storage端口号必须一致
base_path=/usr/local/server/FastDFS/Storage             #设置storage数据文件和日志目录
store_path_count=1                                      #存储路径个数,需要和store_path个数匹配
store_path0=/usr/local/server/FastDFS/Storage_Data      #实际文件存储路径
tracker_server=fdfs0.tianjie.group:22122                        #Tracker服务器的IP地址和端口号
tracker_server=fdfs1.tianjie.group:22122

5.4 创建软连接

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

5.5 启动Storage服务

service fdfs_storaged start

5.6 防火墙配置(打开23000端口)

6.Storage服务器Nginx配置

6.1 安装环境依赖

yum -y install pcre pcre-devel
yum -y install zlib zlib-devel
yum -y install openssl openssl-devel

6.2 解压Nginx资源包

cd /usr/local/server/Nginx
tar -zxvf nginx-1.13.0.tar.gz
cd /usr/local/server/FastDFS
unzip fastdfs-nginx-module-master.zip

6.3 配置和安装

cd /usr/local/server/Nginx/nginx-1.13.0
./configure --prefix=/usr/local/nginx --add-module=/usr/local/server/FastDFS/fastdfs-nginx-module-master/src/
make && make install

6.4 编辑Nginx配置文件

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

在文件末尾添加

include servers/*;

6.5 创建配置文件夹

mkdir servers && cd servers

6.6 新建HTTP配置信息

vi FastDFS.conf

添加下述配置信息

server{
    listen 9999;
    location ~/group1/M00 {
        root /usr/local/server/FastDFS/Storage_Data/data;
        ngx_fastdfs_module;
    }
}

6.7 复制Nginx配置文件

cd /usr/local/server/FastDFS/fastdfs-5.10/conf
cp http.conf /etc/fdfs/
cp mime.types /etc/fdfs/
cd /usr/local/server/FastDFS/fastdfs-nginx-module-master/src/
cp mod_fastdfs.conf /etc/fdfs/

6.8 编辑Nginx_FastDFS模块配置文件

vi /etc/fdfs/mod_fastdfs.conf

修改下述内容

base_path=/usr/local/server/FastDFS/Storage             #保存日志目录
tracker_server=fdfs0.tianjie.group:22122                        #tracker服务器的IP地址以及端口号
tracker_server=fdfs1.tianjie.group:22122
storage_server_port=23000                               #storage服务器的端口号
url_have_group_name = true                              #文件url中是否有group名
store_path0=/usr/local/server/FastDFS/Storage_Data      #存储路径
group_count = 1                                         #设置组的个数

在文件尾部添加组信息

[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/usr/local/server/FastDFS/Storage_Data

6.9 创建软连接

ln -s /usr/local/server/FastDFS/Storage_Data/data /usr/local/server/FastDFS/Storage_Data/data/M00

6.10 启动Nginx

/usr/local/nginx/sbin/nginx

6.11 防火墙配置(打开9999端口)

7.服务器重启/宕机/更换IP后的二次启动

7.1 Tracker服务器修改Nginx设置的Storage地址和监听域名

vi /usr/local/nginx/conf/servers/FastDFS.conf

修改upstream节点中Storage的HTTP服务地址

修改server中的监听地址

7.2 Tracker服务器服务恢复

service fdfs_trackerd start
/usr/local/nginx/sbin/nginx

7.3 Storage服务器修改FastDFS配置的Tracker服务器地址

vi /etc/fdfs/storage.conf

7.4 Storage服务器修改Nginx_FastDFS模块配置的Tracker服务器地址

vi /etc/fdfs/mod_fastdfs.conf

7.5 Storage服务器服务恢复

service fdfs_storaged start
/usr/local/nginx/sbin/nginx

8.常用指令

8.1 开启Tracker服务

service fdfs_trackerd start

8.2 开启Storage服务

service fdfs_storaged start

8.3 关闭Tracker服务

service fdfs_trackerd stop

8.4 关闭Storage服务

service fdfs_storaged stop

8.5 开启Nginx服务

/usr/local/nginx/sbin/nginx

8.6 刷新Nginx服务

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

8.7 查看集群组网状态(在Storage服务器执行)

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

8.8 查看Storage进程状态(在Storage服务器执行)

netstat -unltp|grep fdfs

8.9 查看Tracker进程状态(在Trakcer服务器执行)

netstat -unltp|grep fdfs

你可能感兴趣的:(集群维护)