欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-07-03 14:43:12
...

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

2、centos下创建目录/softpackages

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

 

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

下载libfastcommon

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

 

解压

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

 

进入libfastcommon-1.0.7,编译、安装

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

 

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

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

 

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

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

 

 

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

 

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

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

4、下载安装FastDFS

下载FastDFS

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

 

解压、编译、安装

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

 

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

 

 

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

 

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

服务脚本:

/etc/init.d/fdfs_storaged

/etc/init.d/fdfs_tracker

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

 

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

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

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

 

命令工具在 /usr/bin/ 目录下:
FastDFS一步步搭建文件管理系统

 

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

 

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 的软链接,本人用这种方式。

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

 

5、配置FastDFS跟踪器(Tracker)

FastDFS 配置文件详解

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

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

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

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

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

 

创建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 两个目录

启动方式一:

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

启动方式二:

# service fdfs_trackerd start

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

# netstat -unltp|grep fdfs

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

闭Tracker命令:

# service fdfs_trackerd stop

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

 

设置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

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

 

 

 

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

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

 

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

 

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

 

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

 

创建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

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

启动 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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

设置 Storage 开机启动

# chkconfig fdfs_storaged on

Storage 目录

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7、文件上传测试

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

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

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

 

 

 

修改如下配置

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

 

 

 

 

 

 

 

上传测试

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

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

 

 

 

 

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

 

 

 

 

 

 

 

 

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

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/

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

 

 

 

 

 

 

 

启动:./nginx

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

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

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

 

 

若报错:[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

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

 

 

 

 

 

 

 

 

 

防火墙中打开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

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

 

 

 

 

 

 

 

访问文件

修改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

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

 

 

 

 

 

 

 

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

 

 

 

相关标签: fastdfs