centos7下安装fastDFS+Nginx

第一步:准备工作

1、libfastcommon

从 FastDFS 和 FastDHT 中提取出来的公共 C 函数库,基础环境

在安装 FastDFS 前需要先安装这个

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

2、FastDFS

* FastDFS 安装包

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

3、fastdfs-nginx-module

* 为了实现通过 HTTP 服务访问和下载 FastDFS 服务器中的文件

* 可以重定向文件链接到源服务器取文件,避免同一组 Storage 服务器同步延迟导致文件访问错误

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

3.1.5本次采用的安装包版本如下

* libfastcommon :1.0.41

* FastDFS :6.03

* fastdfs-ninx-module :1.22

将以上安装包拷贝到 CentOS7 下的 /root 目录下

第二步:安装libfastcommon

libfastcommon 安装依赖于 gcc 和 perl,故要先安装这两个

# 在线安装 gcc(安装系统时,选择开发工具安装和安全工具安装后,gcc自动安装)

yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel

# 在线安装 perl,下载好安装包后

 

# 进入 root 目录下

cd /root

# 解压 libfastcommon 压缩包

tar zxvf libfastcommon-1.0.41.tar.gz -C /usr/local

# 进入 libfastcommon 文件夹中,编译 libfastcommon 以及安装

cd /usr/local/libfastcommon-1.0.41

./make.sh && ./make.sh install

 

第三步:安装 FastDFS

cd /root

# 解压 FastDFS 压缩包,编译以及安装

tar zxvf fastdfs-6.03.tar.gz  -C /usr/local

cd /usr/local/fastdfs-6.03

./make.sh && ./make.sh install

cd /usr/bin && ls |grep fdfs

 

配置 Tracker

# 创建 Tracker 的存储日志和数据的根目录

mkdir -p /home/fastdfs/tracker

cd /etc/fdfs

cp tracker.conf.sample tracker.conf

# 配置 tracker.conf

vi tracker.conf

在这里,tracker.conf 只是修改一下 Tracker 存储日志和数据的路径

 

# 启用配置文件(默认为 false,表示启用配置文件)

disabled=false

# Tracker 服务端口(默认为 22122)

port=22122

# 存储日志和数据的根目录

base_path=/home/fastdfs/tracker

配置 Storage

# 创建 Storage 的存储日志和数据的根目录

mkdir -p /home/fastdfs/storage

cd /etc/fdfs

cp storage.conf.sample storage.conf

# 配置 storage.conf

vi storage.conf

在这里,storage.conf 只是修改一下 storage 存储日志和数据的路径

 

# 启用配置文件(默认为 false,表示启用配置文件)

disabled=false

# Storage 服务端口(默认为 23000)

port=23000

# 数据和日志文件存储根目录

base_path=/home/fastdfs/storage

# 存储路径,访问时路径为 M00

# store_path1 则为 M01,以此递增到 M99(如果配置了多个存储目录的话,这里只指定 1 个)

store_path0=/home/fastdfs/storage

# Tracker 服务器 IP 地址和端口,单机搭建时也不要写 127.0.0.1

# tracker_server 可以多次出现,如果有多个,则配置多个

tracker_server=192.168.229.166:22122

# 设置 HTTP 访问文件的端口。这个配置已经不用配置了,配置了也没什么用

# 这也是为何 Storage 服务器需要 Nginx 来提供 HTTP 访问的原因

http.server_port=8888

启动 Tracker 和 Storage 服务

# 启动 Tracker 服务

# 其它操作则把 start 改为 stop、restart、reload、status 即可。Storage 服务相同

/etc/init.d/fdfs_trackerd start

# 启动 Storage 服务

/etc/init.d/fdfs_storaged start

 

第四步:测试上传文件

# 修改 Tracker 服务器客户端配置文件

cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf

vi /etc/fdfs/client.conf

client.conf 中修改 base_path 和 Tracker 服务器的 IP 地址与端口号即可

 

# 存储日志文件的基本路径

base_path=/home/fastdfs/tracker

# Tracker 服务器 IP 地址与端口号

tracker_server=192.168.229.166:22122

拷贝一张图片到 root 目录下

 

# 存储到 FastDFS 服务器中

/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /root/test.png

当返回文件 ID 号,如 group1/M00/00/00/wKjlpltF-K-AZQQsAABhhboA1Kk469.png 则表示上传成功

 

第五步:设置开机启动

vi /etc/rc.d/rc.local

加入配制:

  /etc/init.d/fdfs_trackerd start

  /etc/init.d/fdfs_storaged start

第六步:安装nginx

准备文件

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

Nginx : 1.18.0

将以上安装包拷贝到 CentOS7 下的 /root 目录下

目的如下:

Storage 安装 Nginx,为了提供 http 的访问和下载服务,同时解决 group 中 Storage 服务器的同步延迟问题

Tracker 安装 Nginx,主要是为了提供 http 访问的反向代理、负载均衡以及缓存服务

安装与配置 Nginx

Nginx 依赖环境安装

Nginx 依赖环境有 GCC(这个在安装 libfastcommon 时就安装了)、PCRE、zlib 和 openssl。可以通过以下几条命令 or 一条命令进行在线安装

# 安装 GCC(安装系统时,选择开发工具安装和安全工具安装后,gcc自动安装)

 

编译安装 nginx

cd /root

tar -zxvf nginx-1.18.0.tar.gz -C /usr/local

cd /usr/local/nginx-1.18.0/

# 给 Nginx 添加 fastdfs-nginx-module 模块

./configure --prefix=/usr/local/nginx --with-http_stub_status_module

 

tar -zxvf fastdfs-nginx-module-1.22.tar.gz -C /usr/local

cd /usr/local/fastdfs-nginx-module-1.22/src

vi config

增加以下:

:%s+/usr/local+/usr

cd /usr/local/nginx-1.18.0/

./configure --add-module=/usr/local/fastdfs-nginx-module-1.22/src

提示如下错误,需要安装PCRE

rpm -ivh pcre-devel-8.32-17.el7.x86_64.rpm

提示如下错误,需要安装zlib

rpm -ivh zlib-devel-1.2.7-18.el7.x86_64.rpm

 

make && make install

 

fastdfs-nginx-module 和 FastDFS 配置文件修改

# 复制 FastDFS 的部分配置文件到 /etc/fdfs

cd /usr/local/fastdfs-6.03/conf/

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

cd /home/fastdfs/storage

ln -s /home/fastdfs/storage/data/ /home/fastdfs/storage/data/M00

# 复制 fastdfs-nginx-module 源码中的配置文件到  /etc/fdfs 中

cp /usr/local/fastdfs-nginx-module-1.22/src/mod_fastdfs.conf /etc/fdfs/

vi /etc/fdfs/mod_fastdfs.conf

mod_fastdfs.conf 配置如下

 

# Tracker 服务器IP和端口修改

tracker_server=192.168.229.166:22122

# url 中是否包含 group 名称,改为 true,包含 group

url_have_group_name = true

# 配置 Storage 信息,修改 store_path0 的信息

store_path0=/home/fastdfs/storage

# 其它的一般默认即可,例如

base_path=/tmp

group_name=group1

storage_server_port=23000

store_path_count=1

配置 Nginx

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

location ~/group([0-9])/M00 {
             root  /home/fastdfs/storage/data;
ngx_fastdfs_module;

}

启动 Nginx

# 启动 Nginx

/usr/local/nginx/sbin/nginx

# 重启 Nginx

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

# 停止 Nginx

/usr/local/nginx/sbin/nginx -s stop

通过 HTTP 访问文件

根据 URL 访问之前上传的那张图片

 

http://192.168.110.128/group1/M00/00/00/wKhugF7B9QaAPq72AAAACr9A3dw566.png

 

 注意

# 每次开机时,手动打开 Tracker 服务

/etc/init.d/fdfs_trackerd start

# 打开 Storage 服务

/etc/init.d/fdfs_storaged start

# 启动 Nginx

/usr/local/nginx/sbin/nginx

 

posted @ 2020-06-07 17:24  随心随笔  阅读(526)  评论(0)    收藏  举报