FastDFS一步步搭建文件管理系统

1、环境virtualBox+CentOs7,前提必须确保主机和虚拟机网络可以互通,并且虚拟机可以访问网络

2、centos下创建目录/softpackages

 

3、下载安装 libfastcommon,libfastcommon是从 FastDFS 和 FastDHT 中提取出来的公共 C 函数库,基础环境

下载libfastcommon

 

解压

 

进入libfastcommon-1.0.7,编译、安装

 

注意:如果出现上面情况请先安装perl

 

然就可以顺利编译和安装了

 

 

 

libfastcommon.so 安装到了/usr/lib64/libfastcommon.so,但是FastDFS主程序设置的lib目录是/usr/local/lib,所以需要创建软链接。

4、下载安装FastDFS

下载FastDFS

 

解压、编译、安装

 

 

 

 

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

服务脚本:

/etc/init.d/fdfs_storaged

/etc/init.d/fdfs_tracker

 

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

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

 

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

 

 

FastDFS 服务脚本设置的 bin 目录是 /usr/local/bin, 但实际命令安装在 /usr/bin/ 下

两种方式:

一、修改FastDFS 服务脚本中相应的命令路径,也就是把 /etc/init.d/fdfs_storaged 和 /etc/init.d/fdfs_tracker 两个脚本中的 /usr/local/bin 修改成 /usr/bin。

# vim fdfs_trackerd
使用查找替换命令进统一修改:%s+/usr/local/bin+/usr/bin
# vim fdfs_storaged
使用查找替换命令进统一修改:%s+/usr/local/bin+/usr/bin

二、是建立 /usr/bin 到 /usr/local/bin 的软链接,本人用这种方式。

 

5、配置FastDFS跟踪器(Tracker)

FastDFS 配置文件详解

进入 /etc/fdfs,复制 FastDFS 跟踪器样例配置文件 tracker.conf.sample,并重命名为 tracker.conf。

编辑tracker.conf ,标红的需要修改下,其它的默认即可

 

创建tracker基础数据目录,即base_path对应的目录

# mkdir -p /home/running/fastdfs/tracker

防火墙中打开跟踪端口(默认的22122)

添加如下端口行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22122 -j ACCEPT















重启防火墙:
# service iptables restart

启动Tracker

初次成功启动,会在 /home/running/fdfsdfs/tracker/ (配置的base_path)下创建 data、logs 两个目录

启动方式一:

启动方式二:

# service fdfs_trackerd start

查看 FastDFS Tracker 是否已成功启动 ,22122端口正在被监听,则算是Tracker服务安装成功。

# netstat -unltp|grep fdfs

闭Tracker命令:

# service fdfs_trackerd stop

 

设置Tracker开机启动

# chkconfig fdfs_trackerd on

或者

# vim /etc/rc.d/rc.local
加入配置:
/etc/init.d/fdfs_trackerd start 

 tracker server 目录及文件结构

Tracker服务启动成功后,会在base_path下创建data、logs两个目录。目录结构如下:

${base_path}
  |__data
  |   |__storage_groups.dat:存储分组信息
  |   |__storage_servers.dat:存储服务器列表
  |__logs
  |   |__trackerd.log: tracker server 日志文件

6、配置 FastDFS 存储 (Storage)

进入 /etc/fdfs 目录,复制 FastDFS 存储器样例配置文件 storage.conf.sample,并重命名为 storage.conf

# cd /etc/fdfs

#cp storage.conf.sample storage.conf

#vi storage.conf

 

 

 

编辑storage.conf,红色的修改就可以了,其它默认

 

 

 

 

创建Storage基础数据目录,对应base_path目录创建Storage基础数据目录,对应base_path目录

# mkdir -p /home/running/fastdfs/storage

#这是配置的store_path0路径

# mkdir -p /home/running/fastdfs/file

防火墙中打开存储器端口(默认的 23000)

# vim /etc/sysconfig/iptables
添加如下端口行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 23000 -j ACCEPT
重启防火墙:
# service iptables restart

启动 Storage

启动Storage前确保Tracker是启动的。初次启动成功,会在 /home/running/fastdfs/storage 目录下创建 data、 logs 两个目录。

可以用这种方式启动
# /etc/init.d/fdfs_storaged start
也可以用这种方式,后面都用这种
# service fdfs_storaged start

查看 Storage 是否成功启动,23000 端口正在被监听,就算 Storage 启动成功

# netstat -unltp|grep fdfs

查看Storage和Tracker是否在通信:

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

设置 Storage 开机启动

# chkconfig fdfs_storaged on

Storage 目录

同 Tracker,Storage 启动成功后,在base_path 下创建了data、logs目录,记录着 Storage Server 的信息。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7、文件上传测试

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

# cd /etc/fdfs
# cp client.conf.sample client.conf
# vim client.conf

 

 

 

修改如下配置

 

 

 

 

 

 

 

上传测试

在linux内部执行如下命令上传 namei.jpeg 图片

 

 

 

 

 

 

 

 

 

 

 

 

组名、磁盘名、目录、文件名

8、安装Nginx

安装Nginx作为服务器以支持Http方式访问文件,后面安装FastDFS的Nginx模块也需要Nginx环境。Nginx只需要安装到StorageServer所在的服务器即可,用于访问文件。TrackerServer和StorageServer在一台服务器上。所以Nginx安装在该机器上就可以了。

安装nginx所需环境

a、gcc 安装

# yum install gcc-c++

b、PCRE pcre-devel 安装

# yum install -y pcre pcre-devel

c、zlib 安装

# yum install -y zlib zlib-devel

d、OpenSSL 安装

# yum install -y openssl openssl-devel

安装Nginx

a、下载nginx

# wget -c https://nginx.org/download/nginx-1.12.1.tar.gz

b、解压

# tar -zxvf nginx-1.12.1.tar.gz
# cd nginx-1.12.1

c、进入解压缩后文件夹

d、配置编译参数命令:(可以使用./configure --help查询详细参数)

./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi

e、注:安装之前需要手动创建上面指定的nginx文件夹,即/var/temp、/var/temp/nginx、/var/run/nginx/文件夹,否则启动时报错

f、编译并安装

命令:make && make install

可以进入/usr/local/nginx查看文件是否存在conf、sbin、html文件夹,若存在则安装成功

g、启动nginx

进入安装目录

cd /usr/local/nginx/sbin/

 

 

 

 

 

 

 

启动:./nginx

查看是否启动:ps -ef | grep nginx

如果有master和worker两个进程证明启动成功

 

 

若报错:[emerg] open() "/var/run/nginx/nginx.pid" failed (2: No such file or directory)需要查看下是不是在/var/run文件夹下不存在nginx文件夹,不存在则新建

其它命令
# ./nginx -s stop
# ./nginx -s quit
# ./nginx -s reload

设置开机启动

# vi /etc/rc.local
添加一行:
/usr/local/nginx/sbin/nginx
# 设置执行权限
# chmod 755 rc.local

 

 

 

 

 

 

 

 

 

防火墙中打开Nginx端口(默认的 80) 然后在本机浏览器用ip+80端口,就可以访问了

# vim /etc/sysconfig/iptables
添加如下端口行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
重启防火墙:
# service iptables restart

 

 

 

 

 

 

 

访问文件

修改nginx.conf

# vim /usr/local/nginx/conf/nginx.conf
添加如下行,将 /group1/M00 映射到 /home/running/fastdfs/file/data
location /group1/M00 {
    alias /home/running/fastdfs/file/data;
}
# 重启nginx
# /usr/local/nginx/sbin/nginx -s reload

 

 

 

 

 

 

 

在浏览器访问之前上传的图片、成功

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值