CentOS源码编译方式安装配置fastdfs

来源:https://github.com/happyfish100/fastdfs/wiki

1、编译环境

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

报错:Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
原因:Centos8于2021年年底停止了服务,大家再在使用yum源安装时候,出现上述错误,CentOS 8 的yum源失效了,需要更新下yum源

(1)进入yum的repos目录

cd /etc/yum.repos.d/

(2)修改所有的CentOS文件内容

sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* 

sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

(3)更新yum源为阿里镜像

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo

yum clean all

yum makecache

(4)yum安装测试是否可以yum安装

yum install wget –y

2、磁盘目录

说明位置
所有安装包/user/local/src
数据存储位置/home/dfs/
mkdir /home/dfs #创建数据存储目录

cd /usr/local/src #切换到安装目录准备下载安装包

3、安装libfatscommon

git clone https://github.com/happyfish100/libfastcommon.git --depth 1
cd libfastcommon/
./make.sh && ./make.sh install #编译安装

4、安装FastDFS

cd ../ #返回上一级目录
git clone https://github.com/happyfish100/fastdfs.git --depth 1
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访问使用

报错

在这里插入图片描述

原因:

如果是从github上下载或拉取或者是从官方上下载的安装包很有可能是最新的,但是最新的里面它其实是缺少文件的,所以我之前在下载时按照其他一些博主的安装步骤是不对的(很多博主发文的时候时间较早),缺少了 libserverframe 网络框架

解决:

git clone https://github.com/happyfish100/libserverframe.git --depth 1
cd libserverframe/
./make.sh && ./make.sh install #编译安装
cd ../ #返回上一级目录

然后继续执行安装FastDFS步骤

5、安装fastdfs-nginx-module

git clone https://github.com/happyfish100/fastdfs-nginx-module.git --depth 1
cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs

6、安装nginx

wget http://nginx.org/download/nginx-1.15.4.tar.gz #下载nginx压缩包
tar -zxvf nginx-1.15.4.tar.gz #解压
cd nginx-1.15.4/
#添加fastdfs-nginx-module模块
./configure --add-module=/usr/local/src/fastdfs-nginx-module/src/ 
make && make install #编译安装

7、部署

# /home/dfs下新建三个文件夹分别存放tracker、storage、client的日志和数据
cd /home/dfs
mkdir tracker
mkdir storage
mkdir client
# 修改/home/dfs及下属所有文件的权限
chmod -R 777 /home/dfs

(1)tracker部署

# 服务器ip为 192.168.52.2, 192.168.52.3, 192.168.52.4
# 我建议用ftp下载下来这些文件 本地修改
vim /etc/fdfs/tracker.conf
# 配置文件解读
# 将追踪器和部署的主机的IP地址进程绑定, 也可以不指定
# 如果不指定, 会自动绑定当前主机IP, 如果是云服务器建议不要写
bind_addr=
# 追踪器监听的端口
port=22122
# 追踪器存储日志信息的目录, xxx.pid文件, 必须是一个存在的目录
base_path=/home/dfs/tracker

(2)storage部署

vim /etc/fdfs/storage.conf
# 配置文件解读
# 当前存储节点对应的主机属于哪一个组
group_name=group1
# 当前存储节点和所应该的主机进行IP地址的绑定, 如果不写, 有fastdfs自动绑定
bind_addr=
# 存储节点绑定的端口
port=23000
# 存储节点写log日志的路径
base_path=/home/dfs/storage
# 存储节点提供的存储文件的路径个数
store_path_count=1
# 具体的存储路径
store_path0=/home/dfs/storage
# 追踪器的地址信息
tracker_server=192.168.52.2:22122 # 服务器1
# tracker_server=192.168.52.3:22122 # 服务器2,有多个主机要进行分布式部署时添加
# tracker_server=192.168.52.4:22122 # 服务器3,有多个主机要进行分布式部署时添加

(3)client部署

vim /etc/fdfs/client.conf

# 客户端写log日志的目录
# 该路径必须存在
# 当前的用户对于该路径中的文件有读写权限
base_path=/home/dfs/client
# 要连接的追踪器的地址信息
tracker_server=192.168.52.2:22122  # 服务器1
# tracker_server=192.168.52.3:22122  # 服务器2
# tracker_server=192.168.52.4:22122  # 服务器3

8、启动

(1)防火墙

#不关闭防火墙的话无法使用
systemctl stop firewalld.service #关闭
systemctl restart firewalld.service #重启

# 云服务器需要配置安全组以及防火墙开放端口
# 防火墙开放端口使用以下命令
systemctl status firewalld # 查看防火墙状态
firewall-cmd --zone=public --list-ports # 查看当前防火墙开放的端口有哪些
firewall-cmd --zone=public --add-port=22122/tcp --permanent # 开放22122端口
firewall-cmd --zone=public --add-port=23000/tcp --permanent # 开放23000端口
firewall-cmd --zone=public --add-port=22/tcp --permanent # 若没配置过先开放22端口
systemctl restart firewalld.service # 重启防火墙服务

(2)第一个启动追踪器 - 守护进程

修改 /usr/lib/systemd/system/fdfs_trackerd.service 中的 PIDFile,格式为:
PIDFile=$base_path/data/fdfs_trackerd.pid
比如:
PIDFile=/home/dfs/tracker/data/fdfs_trackerd.pid


systemctl start fdfs_trackerd #启动tracker服务
systemctl restart fdfs_trackerd #重启动tracker服务
systemctl stop fdfs_trackerd #停止tracker服务
systemctl enable fdfs_trackerd  #开机自启动

(3)第二个启动存储节点 - 守护进程

修改 /usr/lib/systemd/system/fdfs_storaged.service 中的 PIDFile,格式为:
PIDFile=$base_path/data/fdfs_storaged.pid
比如:
PIDFile=/home/dfs/storage/data/fdfs_storaged.pid


systemctl start fdfs_storaged #启动storage服务
systemctl restart fdfs_storaged  #重动storage服务
systemctl stop fdfs_storaged  #停止storage服务
systemctl enable fdfs_storaged   #开机自启动

(4)最后启动客户端 - 普通进程

# 上传测试,返回ID表示成功 如:group1/M00/00/00/L3PdMWVTY-mAJ8edAA-itrfn0m4.tar.gz
fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/nginx-1.15.4.tar.gz
# 可以在group1对应的路径去找到该上传的文件,在本文中路径为
# /home/dfs/storage/data/00/00/L3PdMWVTY-mAJ8edAA-itrfn0m4.tar.gz
# 文件重命名是为了保证唯一性
# 下载测试
# fdfs_download_file /etc/fdfs/client.conf 上传成功之后得到的字符串(fileID), 即:
fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/L3PdMWVTY-mAJ8edAA-itrfn0m4.tar.gz

9、检测集群

fdfs_monitor /etc/fdfs/storage.conf
# 会显示会有几台服务器 有3台就会 显示 Storage 1-Storage 3的详细信息
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值