Ubuntu14.04下部署FastDFS5.08+Nginx1.13.0

文章导航

× 文章目录
  1. 1. 一、下载安装libfastcommon
    1. 1.1. 1.1、上传或下载 libfastcommon-master.zip 到/usr/local/src 目录
    2. 1.2. 1.2、解压
    3. 1.3. 1.4、创建软链接.
  2. 2. 二、安装 FastDFS
    1. 2.1. 2.1、上传或下载 FastDFS 源码包( FastDFS_v5.05.tar.gz) 到 /usr/local/src 目录
    2. 2.2. 2.2、解压
    3. 2.3. 2.3、编译、 安装(编译前要确保已经成功安装了 libfastcommon)
  3. 3. 三、配置 FastDFS 跟踪器
    1. 3.1. 3.1、复制 FastDFS 跟踪器样例配置文件,并重命名:
  4. 4. 3.2、编辑跟踪器配置文件:
    1. 4.1. 3.3、创建基础数据目录(参考基础目录 base_path 配置) :
    2. 4.2. 3.4、启动 Tracker:
  5. 5. 四、配置 FastDFS 存储
    1. 5.1. 4.1、复制 FastDFS 存储器样例配置文件,并重命名
    2. 5.2. 4.2、编辑存储器样例配置文件:
    3. 5.3. 4.3、创建基础数据目录
    4. 5.4. 4.4、启动 Storage:
    5. 5.5. 4.5、检查进程
  6. 6. 五、文件上传测试
    1. 6.1. 5.1、修改 Tracker 服务器中的客户端配置文件:
    2. 6.2. 5.2、执行如下文件上传命令
  7. 7. 六、在每个存储节点上安装 nginx
    1. 7.1. 6.1、fastdfs-nginx-module 作用说明
    2. 7.2. 6.2、上传 fastdfs-nginx-module_v1.16.tar.gz 到/usr/local/src
    3. 7.3. 6.3、解压
    4. 7.4. 6.4.修改 fastdfs-nginx-module 的 config 配置文件
    5. 7.5. 6.5、 上传当前的稳定版本 Nginx(nginx-1.13.0.tar.gz)到/usr/local/src 目录
    6. 7.6. 6.6、 编译安装 Nginx(添加 fastdfs-nginx-module 模块)
    7. 7.7. 6.7、复制 fastdfs-nginx-module 源码中的配置文件到/etc/fdfs 目录, 并修改
    8. 7.8. 6.8、复制 FastDFS 的部分配置文件到/etc/fdfs 目录
    9. 7.9. 6.9、在/fastdfs/storage 文件存储目录下创建软连接,将其链接到实际存放数据的目录
    10. 7.10. 七、配置 Nginx
    11. 7.11. 八、访问地址

摘要: Ubuntu 14.04下部署FastDFS 5.08+Nginx 1.13.0

  1. 环境 Ubuntu 14.04
  2. 用户 admin
  3. 数据目录: /fastdfs
  4. 安装包:FastDFS v5.05
1
2
3
4
5
6
7
libfastcommon-master.zip
fastdfs-nginx-module_v1.16.tar.gz
nginx-1.6.2.tar.gz
fastdfs_client_java._v1.25.tar.gz
源码地址: https://github.com/happyfish100/
下载地址: http://sourceforge.net/projects/fastdfs/files/
官方论坛: http://bbs.chinaunix.net/forum-240-1.html

一、下载安装libfastcommon

1.1、上传或下载 libfastcommon-master.zip 到/usr/local/src 目录

1
2
3
4
git clone https://github.com/happyfish100/libfastcommon.git
cd libfastcommon/
./make.sh
./make.sh install

1.2、解压

1
2
3
# cd /usr/local/src/
# unzip libfastcommon-master.zip
# cd libfastcommon-master

###1.3、编译、安装

1
2
3
4
5
# ./make.sh
# ./make.sh install
libfastcommon 默认安装到了
/usr/lib64/libfastcommon.so
/usr/lib64/libfdfsclient.so

1.4、创建软链接.

1
2
3
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

二、安装 FastDFS

2.1、上传或下载 FastDFS 源码包( FastDFS_v5.05.tar.gz) 到 /usr/local/src 目录

2.2、解压

1
2
3
# cd /usr/local/src/
# tar -zxvf FastDFS_v5.05.tar.gz
# cd FastDFS

2.3、编译、 安装(编译前要确保已经成功安装了 libfastcommon)

1
2
# ./make.sh
# ./make.sh install

三、配置 FastDFS 跟踪器

3.1、复制 FastDFS 跟踪器样例配置文件,并重命名:

1
2
# cd /etc/fdfs/
# cp tracker.conf.sample tracker.conf

3.2、编辑跟踪器配置文件:

1
2
3
# vi /etc/fdfs/tracker.conf
修改的内容如下:
base_path=/fastdfs/tracker

3.3、创建基础数据目录(参考基础目录 base_path 配置) :

1
# mkdir -p /fastdfs/tracker

3.4、启动 Tracker:

1
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

四、配置 FastDFS 存储

4.1、复制 FastDFS 存储器样例配置文件,并重命名

1
cd /etc/fdfs/

4.2、编辑存储器样例配置文件:

1
2
3
4
5
# vi /etc/fdfs/storage.conf
修改的内容如下:
base_path=/fastdfs/storage
store_path0=/fastdfs/storage
tracker_server=192.168.241.140:22122

4.3、创建基础数据目录

1
mkdir -p /fastdfs/storage

4.4、启动 Storage:

1
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf

4.5、检查进程

1
ps -ef |grep fdfs

五、文件上传测试

5.1、修改 Tracker 服务器中的客户端配置文件:

1
2
3
4
cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
# vi /etc/fdfs/client.conf
base_path=/fastdfs/tracker
tracker_server=192.168.241.140:22122

5.2、执行如下文件上传命令

1
2
3
# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/FastDFS_v5.05.tar.gz
返回 ID 号: group1/M00/00/00/wKgEfVUYNYeAb7XFAAVFOL7FJU4.tar.gz
(能返回以上文件 ID, 说明文件上传成功)

六、在每个存储节点上安装 nginx

6.1、fastdfs-nginx-module 作用说明

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

6.2、上传 fastdfs-nginx-module_v1.16.tar.gz 到/usr/local/src

6.3、解压

1
2
# cd /usr/local/src/
# tar -zxvf fastdfs-nginx-module_v1.16.tar.gz

6.4.修改 fastdfs-nginx-module 的 config 配置文件

1
2
3
4
5
6
# cd fastdfs-nginx-module/src
# vi config
CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/"
修改为:
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
( 注意: 这个路径修改是很重要的,不然在 nginx 编译的时候会报错的)

6.5、 上传当前的稳定版本 Nginx(nginx-1.13.0.tar.gz)到/usr/local/src 目录

6.6、 编译安装 Nginx(添加 fastdfs-nginx-module 模块)

1
2
3
4
5
# cd /usr/local/src/
# tar -zxvf nginx-1.6.2.tar.gz
# cd nginx-1.6.2
# ./configure --add-module=/usr/local/src/fastdfs-nginx-module/src
# make && make install

如果出现 fastdfs-nginx-module/src/common.c:21:25: fatal error: fdfs_define.h: 没有那个文件或目录

添加链接

1
2
3
ln -sv /usr/include/fastcommon /usr/local/include/fastcommon 
ln -sv /usr/include/fastdfs /usr/local/include/fastdfs
ln -sv /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so

6.7、复制 fastdfs-nginx-module 源码中的配置文件到/etc/fdfs 目录, 并修改

1
2
3
4
5
6
# cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
# vi /etc/fdfs/mod_fastdfs.conf
修改以下配置:
tracker_server=192.168.241.230:22122
url_have_group_name = true
store_path0=/fastdfs/storage

6.8、复制 FastDFS 的部分配置文件到/etc/fdfs 目录

1
2
# cd /usr/local/src/FastDFS/conf
# cp http.conf mime.types /etc/fdfs/

6.9、在/fastdfs/storage 文件存储目录下创建软连接,将其链接到实际存放数据的目录

1
# ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00

七、配置 Nginx

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
user root;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 8888;
server_name localhost;
location ~/group([0-9])/M00 {
#alias /fastdfs/storage/data;
ngx_fastdfs_module;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}

八、访问地址

http://192.168.241.140:8888/group1/M00/00/00/wKjxjFkr37KADaL9AAAawU0ID2Q831.png
这里写图片描述

评论