第二章、FastDFS单机搭建过程

        上章我们初始了FastDFS的介绍,发展历程和结构,不多说,本章带你走进FastDFS单机版安装步骤,以及相关web项目演示上传下载等功能。

 

1、准备环境

系统:Centos7.x

相关软件:

  • libfastcommon(FastDFS分离出的一些公用函数包)
  • fastdfs(FastDFS本体)
  • fastdfs-nginx-module(FastDFS和nginx的关联模块)
  • nginx1.15.4

软件包存放的路径:/usr/local/src

编译环境:(先进行下面的环境编译)

yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel wget vim -y

数据存储位置:/home/dfs/

2、FastDFS安装步骤

记得在/usr/local/src目录下进行下面的操作,别装错了。

2.1、安装包准备

方案一:把上面的四个安装包拷贝到/usr/local/src下,然后进行解压

tar -zxvf xxxx.tar.gz

方案二:如果链接失效了,直接上git命令

  • 下载libfastcommon
git clone https://github.com/happyfish100/libfastcommon.git --depth 1
  • 下载fastdfs
git clone https://github.com/happyfish100/fastdfs.git --depth 1
  • 下载fastdfs-nginx-module
git clone https://github.com/happyfish100/fastdfs-nginx-module.git --depth 1
  • 下载nginx
wget http://nginx.org/download/nginx-1.15.4.tar.gz #下载nginx压缩包

 后面该解压的解压!

2.2、安装包安装

  • 安装libfastcommon
cd libfastcommon/
./make.sh && ./make.sh install #编译安装
  • 安装fastdfs
cd fastdfs/
./make.sh && ./make.sh install #编译安装

#配置文件准备
cp /usr/local/src/fastdfs/conf/http.conf /etc/fdfs/ #供nginx访问使用
cp /usr/local/src/fastdfs/conf/mime.types /etc/fdfs/ #供nginx访问使用
  • 安装fastdfs-nginx-module
cd fastdfs-nginx-module/
cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs
  • 安装nginx
cd nginx-1.15.4/

#添加fastdfs-nginx-module模块
./configure --add-module=/usr/local/src/fastdfs-nginx-module/src/ 
make && make install #编译安装

2.3、修改相关的配置文件

  • tracker
#服务器ip为 192.168.52.1
#我建议用ftp下载下来这些文件 本地修改
vim /etc/fdfs/tracker.conf

#需要修改的内容如下
port=22122  # tracker服务器端口(默认22122,一般不修改)

base_path=/home/dfs  # 这里一定要提前先手动mkdir,不然找不到存储日志和数据的根目录
  • storage
vim /etc/fdfs/storage.conf
#需要修改的内容如下
port=23000  # storage服务端口(默认23000,一般不修改)

base_path=/home/dfs  # 数据和日志文件存储根目录

store_path0=/home/dfs  # 第一个存储目录

tracker_server=本机ip:22122  # tracker服务器IP和端口,注意这里单机只配一个就好了

http.server_port=8888  # http访问文件的端口(默认8888,看情况修改,和nginx中保持一致)
  • client
vim /etc/fdfs/client.conf

#需要修改的内容如下

base_path=/home/dfs

tracker_server=本机ip:22122    #tracker服务器IP和端口,注意这里单机只配一个就可以了

那我们要先启动起来几个东西,tracker和storage。

在启动前我们要先关闭防火墙,不然后面文件访问不了

#不关闭防火墙的话无法使用
systemctl stop firewalld.service #关闭
systemctl restart firewalld.service #重启
  • 启动tracker
# 这里我把命令都贴上来,你们自己用
fdfs_trackerd /etc/fdfs/tracker.conf start #启动tracker服务

fdfs_trackerd /etc/fdfs/tracker.conf restart #重启动tracker服务

fdfs_trackerd /etc/fdfs/tracker.conf stop #停止tracker服务

chkconfig fdfs_trackerd on #自启动tracker服务
  • 启动storage
fdfs_storaged /etc/fdfs/storage.conf start #启动storage服务

fdfs_storaged /etc/fdfs/storage.conf restart #重动storage服务

fdfs_storaged /etc/fdfs/storage.conf start stop #停止动storage服务

chkconfig fdfs_storaged on #自启动storage服务

我们测试下:

#保存后测试,返回ID表示成功 如:group1/M00/00/00/xx.tar.gz
fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/nginx-1.15.4.tar.gz

说明上传成功,目录就在之前的/home/dfs下

具体我们后面再说,先说怎么访问这个文件,首先nginx要进行配置

  • 配置nginx访问
vim /etc/fdfs/mod_fastdfs.conf

#需要修改的内容如下,如果有多的tracker,就配置多个,否则,单机就配置一个即可!
tracker_server=192.168.52.2:22122  # 服务器1
tracker_server=192.168.52.3:22122  # 服务器2
tracker_server=192.168.52.4:22122  # 服务器3

url_have_group_name=true

store_path0=/home/dfs


#配置nginx.config
vim /usr/local/nginx/conf/nginx.conf
#添加如下配置
server {
    listen       8888;    ## 该端口为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 #启动nginx

/usr/local/nginx/sbin/nginx -s reload #重启nginx

/usr/local/nginx/sbin/nginx -s stop #停止nginx

然后访问你单机这台的ip:8888/group1/M00/00/00/你上传的文件名

即可完成上传和访问!

4、老版本常见问题解决

/modules -I src/http/v2 -I /usr/local/include \
	-o objs/src/http/modules/ngx_http_upstream_zone_module.o \
	src/http/modules/ngx_http_upstream_zone_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='256*1024' -DFDFS_MOD_CONF_FILENAME='"/etc/fdfs/mod_fastdfs.conf"' -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules -I src/http/v2 -I /usr/local/include \
	-o objs/src/http/modules/ngx_http_stub_status_module.o \
	src/http/modules/ngx_http_stub_status_module.c
cc -c -pipe  -O -W -Wall -Wpointer-arith -Wno-unused-parameter -Werror -g  -D_FILE_OFFSET_BITS=64 -DFDFS_OUTPUT_CHUNK_SIZE='256*1024' -DFDFS_MOD_CONF_FILENAME='"/etc/fdfs/mod_fastdfs.conf"'  -I src/core -I src/event -I src/event/modules -I src/os/unix -I objs -I src/http -I src/http/modules -I src/http/v2 -I /usr/local/include \
	-o objs/addon/src/ngx_http_fastdfs_module.o \
	/data/installpack/fastdfs-nginx-module-1.20/src/ngx_http_fastdfs_module.c
In file included from /data/installpack/fastdfs-nginx-module-1.20/src/common.c:26:0,
                 from /data/installpack/fastdfs-nginx-module-1.20/src/ngx_http_fastdfs_module.c:6:
/usr/include/fastdfs/fdfs_define.h:15:27: fatal error: common_define.h: No such file or directory
 #include "common_define.h"
                           ^
compilation terminated.
make[1]: *** [objs/addon/src/ngx_http_fastdfs_module.o] Error 1
make[1]: Leaving directory `/data/installpack/nginx-1.15.9'
make: *** [build] Error 2
[root@izs6wckjjll74cz nginx-1.15.9]# 

修改: fastdfs-nginx-module-1.20/src/config

这里其实是缺少依赖,在fastdfs老版本的安装中,部分人的解决方法是,做的软链接。

ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"

好了,那么单机版本的上传我就介绍到这,后面我会更新更多的功能和使用场景,对了,

网盘在这里:链接:https://pan.baidu.com/s/1tkIloZUuVVy3sCxvHzLF4w 

提取码:obgr

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风清扬逍遥子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值