搭建FastDFS服务器

FastDFS 安装【文件服务存储服务器】

安装 FastDFS 依赖

FastDFS 是 C 语言开发的应用。安装必须使用 make、cmake 和 gcc 编译器。

# yum install -y make cmake gcc gcc-c++ perl

把FastDFS_v5.08.tar.gz和libfastcommon-master.zip进行上传到根目录下的/upload目录下

上传并解压 libfastcommon-master
上传 libfastcommon-master 到/upload目录下。libfastcommon 是从 FastDFS和 FastDHT 中提取出来的公共 C 函数库。

解压 libfastcommon-master.zip,由于是 zip 文件所以要使用 unzip 命令:

# cd /upload 
# unzip libfastcommon-master.zip

编译并安装:

libfastcommon 没有提供 make 命令安装文件。使用的是 shell 脚本执行编译 和安装。

shell 脚本为 make.sh。进入解压后的文件:

# cd libfastcommon-master

编译 # ./make.sh

安装 # ./make.sh install

有固定的默认安装位置。在/usr/lib64 和/usr/include/fastcommon 两个目录中

image-20220324224646595

创建软连接

因为 FastDFS 主程序设置的 lib 目录是/usr/local/lib,所以需要创建软链接

# ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so 
# ln -s /usr/local/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so

上传并解压 FastDFS 主程序

上传 FastDFS_v5.08.tar.gz 到/upload下后解压

# cd /upload 
# tar zxvf FastDFS_v5.08.tar.gz

编译并安装 FastDFS

进入到解压后的 FastDFS 文件中。

# cd FastDFS

编译 # ./make.sh

安装 # ./make.sh install

安装后,FastDFS 主程序所在位置是: 
/usr/bin 可执行文件所在位置。 
/etc/fdfs 配置文件所在位置。 
/usr/bin 主程序代码所在位置。 
/usr/include/fastdfs 包含的一些插件组所在位置。

image-20220324224903335

配置 tracker

进入到/etc/fdfs 中,把 tracker 配置文件复制一份

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

创建数据目录
创建放置 tracker 数据的目录

# mkdir -p /usr/local/fastdfs/tracker

修改配置文件

修改 tracker.conf,设置 tracker 内容存储目录。

# vim tracker.conf

base_path = /usr/local/fastdfs/tracker

image-20220324225010560

默认端口 22122,不需要修改

启动服务

在目录/etc/fdfs下进行对trackerd进行启动

# service fdfs_trackerd start

启动成功后,配置文件中 base_path 指向的目录中出现 FastDFS 服务相关数据目录(data 目录、logs 目录)

查看服务运行状态

# service fdfs_trackerd status

如果显示 is running 表示正常运行

关闭防火墙

# service firewalld stop

# systemctl disable firewalld

配置 storage

storage 可以和 tracker 不在同一台服务器上。示例中把 storage 和 tracker 安 装在同一台服务器上了

复制配置文件

进入到/etc/fdfs , 把 storage 配置文件复制一份

# cd /etc/fdfs 
# cp storage.conf.sample storage.conf

创建目录
创建两个目录,base 用于存储基础数据内容和日志,store 用于存储上传数据

# mkdir -p /usr/local/fastdfs/storage/base 
# mkdir -p /usr/local/fastdfs/storage/store

修改配置文件

storage.conf 配置文件用于描述存储服务的行为,需要进行下述修改:

# vim /etc/fdfs/storage.conf

配置内容如下:

base_path=/usr/local/fastdfs/storage/base

store_path0=/usr/local/fastdfs/storage/store

tracker_server=tracker 服务 IP:22122

base_path - 基础路径。用于保存 storage server 基础数据内容和日志内容的 目录。
 
store_path0 - 存储路径。是用于保存 FastDFS 中存储文件的目录,就是要创 建 256*256 个子目录的位置。  
 
base_path 和 store_path0 可以使用同一个目录。 

tracker_server - 跟踪服务器位置。就是跟踪服务器的 ip 和端口。

启动服务

# cd /etc/fdfs
# service fdfs_storaged start
启动成功后,配置文件中 base_path 指向的目录中出现 FastDFS 服务相关数 据目录(data 目录、logs 目录),配置文件中的 store_path0 指向的目录中同样出 现 FastDFS 存储相关数据录(data 目录)。其中$store_path0/data/目录中默认创 建若干子孙目录(两级目录层级总计 256*256 个目录),是用于存储具体文件数 据的。
Storage 服务器启动比较慢,因为第一次启动的时候,需要创建 256*256 个 目录。

查看启动状态

# service fdfs_storaged status

至此fastdfs安装成功!!!

Nginx 安装

上传并安装 fastdfs-nginx-module
上传 01 资料/08 nignx 安装(包含 fastdfs 模块)/fastdfs-nginx-module_v1.16.tar.gz 到 /upload 中

进入upload目录

# cd /upload

解压

# tar zxvf fastdfs-nginx-module_v1.16.tar.gz

修改配置文件

进入解压目录中 src 目录

# cd fastdfs-nginx-module/src

编辑 config 文件

# vim config

修改配置文件中第四行,把路径中 local 去掉(一共有两个 local)。参数是用于配置安装 nginx 中的 FastDFS 组件的时候,在什么位置查找 FastDFS 核心代码。
修改结果如下

image-20220324225807816

安装 nginx 的依赖

# yum install -y gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl openssl-devel

上传 Nginx 并解压

上传nginx-1.8.0.tar.gz 到/upload 中

# cd /upload
# tar zxvf nginx-1.8.0.tar.gz

修改 Nginx 配置

进入到 nginx 文件夹

# cd nginx-1.8.0/

创建临时目录
修改配置文件中好多位置都使用了/var/temp/nginx 目录,但是默认不会自动创建这个目 录的,需要手动创建

# mkdir -p /var/temp/nginx

修改配置文件参数:(直接复制执行)

./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 \
--add-module=/upload/fastdfs-nginx-module/src

–add-module 必须定义,此配置信息是用于指定安装 Nginx 时需要加载的模块,如果未 指定,Nginx 安装过程不会加载 fastdfs-nginx-module 模块,后续功能无法实现。

编译并安装:

# make 
# make install

配置 fastdfs-nginx-module 模块配置文件:

复制配置文件 fastdfs-nginx-module/src/mod_fastdfs.conf 到/etc/fdfs 目录中

# cp /upload/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

修改 mod_fastdfs.conf

进入/etc/fdfs

# cd /etc/fdfs

编辑配置文件

# vim mod_fastdfs.conf

文件内容修改

需要修改文件中四处内容,这四处内容的含义:

connect_timeout=2 #连接超时时间,单位秒

tracker_server=tracker:22122 #tracker 服务结点

url_have_group_name = false #URL 中是否包含 group 名称

store_path0=/home/yuqing/fastdfs # storage 服务结点的存储位置,与配置 storage 结点一致

修改结果如下:

connect_timeout=10 
tracker_server=192.168.9.136:22122 
url_have_group_name = true 
store_path0=/usr/local/fastdfs/storage/store

提供 FastDFS 需要的 HTTP 配置文件

复制 FastDFS 安装包中的两个配置文件(http.conf 和 mime.types)到/etc/fdfs 目录中

# cp /upload/FastDFS/conf/http.conf /etc/fdfs/ 
# cp /upload/FastDFS/conf/mime.types /etc/fdfs/

创建网络访问存储服务的软连接:

在上传文件到 FastDFS 后,FastDFS 会返回 group1/M00/00/00/xxxxxxxxxx.xxx。其中 group1 是卷名,在 mod_fastdfs.conf 配置文件中已配置了 url_have_group_name,以保证 URL 解析 正确。而其中的 M00 是 FastDFS 保存数据时使用的虚拟目录,需要将这个虚拟目录定位到真 实数据目录上。

# ln -s /usr/local/fastdfs/storage/store/data/ /usr/local/fastdfs/storage/store/data/M00

修改 nginx 配置文件:

进入到安装后 nginx 目录

注意是安装目录,不是解压目录

# cd /usr/local/nginx/conf

编辑配置文件

# vim nginx.conf

修改内容 需要修改三处。

第一处:

user root; # Nginx 需要访问 linux 文件系统,必须有文件系统的权限。User root 代表 nginx 访问文件系统的权限是 root 用户权限。如果不开启权限,可能有 404 访问错误。

image-20220324230250656

修改后的效果:去掉注释,user 后面写上 root

image-20220324230300317

第二处:

修改文件的第九行,去掉 pid 前面的#注释,修改成下面效果。 如果不修改这个内容,第一次安装没问题,后面再次启动后会出现 nginx 无法启动问题

pid               /usr/local/nginx/nginx.pid;

第三处

找到 http 标记里面的 server,在 server 上面添加下面内容

server{
	listen 8888;
	server_name localhost;
	location ~/group([0-9])/M00{
		ngx_fastdfs_module;
	}
}

启动 nginx

进入到 nginx 安装目录的 sbin 文件夹

# cd /usr/local/nginx/sbin/

# ./nginx

关闭 nginx

# ./nginx -s quit

启动命令:

service fdfs_trackerd start

service fdfs_storaged start

./nginx
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
在 CentOS 7 上搭建 FastDFS 文件服务器的步骤如下: 1. 安装必要的依赖库: ``` yum install -y gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl openssl-devel wget ``` 2. 下载 FastDFS 源码: ``` wget https://github.com/happyfish100/fastdfs/archive/V6.06.tar.gz ``` 3. 解压源码并编译安装: ``` tar zxvf V6.06.tar.gz cd fastdfs-6.06/ ./make.sh ./make.sh install ``` 4. 配置 Tracker 服务器: 在 Tracker 服务器上创建一个 tracker.conf 配置文件,并添加以下内容: ``` # 配置 Tracker 服务器的 IP 和端口号 port=22122 bind_addr=192.168.0.1 # 配置存储服务器的组名和存储服务器的 IP 和端口号 group_name=group1 group_count=1 group0_ip=192.168.0.2 group0_port=23000 # 配置日志文件的路径和级别 log_level=info log_filename=/var/log/fdfs/trackerd.log ``` 5. 启动 Tracker 服务器: ``` /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart ``` 6. 配置 Storage 服务器: 在 Storage 服务器上创建一个 storage.conf 配置文件,并添加以下内容: ``` # 配置 Tracker 服务器的 IP 和端口号 tracker_server=192.168.0.1:22122 # 配置存储服务器的 IP 和端口号 port=23000 bind_addr=192.168.0.2 # 配置存储服务器的组名和容量 group_name=group1 store_path_count=1 store_path0=/data/fastdfs/storage # 配置心跳时间和同步文件的时间 heart_beat_interval=30 sync_wait_msec=600 # 配置日志文件的路径和级别 log_level=info log_filename=/var/log/fdfs/storaged.log ``` 7. 启动 Storage 服务器: ``` /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart ``` 8. 测试上传和下载文件: 在客户端机器上安装 FastDFS 客户端工具: ``` yum install -y libfastcommon wget https://github.com/happyfish100/fastdfs/archive/V6.06.tar.gz tar zxvf V6.06.tar.gz cd fastdfs-6.06/ ./make.sh ./make.sh install ``` 上传文件: ``` /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /path/to/local/file ``` 下载文件: ``` /usr/bin/fdfs_download_file /etc/fdfs/client.conf group1 M00/00/00/xxx /path/to/local/file ``` 以上就是在 CentOS 7 上搭建 FastDFS 文件服务器的步骤。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值