https://www.jianshu.com/p/a842358b451b
https://zhuanlan.zhihu.com/p/80256918
一、所有跟踪服务器和存储服务器均执行如下操作
1、编译和安装所需的依赖包:
yum install make cmake gcc gcc-c++
2、安装 libfastcommon:
(1)下载 libfastcommon 到/usr/local/src 目录
下载地址:https://github.com/happyfish100/libfastcommon/archive/refs/tags/V1.0.53.tar.gz
(2)解压
cd /usr/local/src/
tar -zxf libfastcommon-1.0.53.tar.gz
cd libfastcommon-1.0.53
(3) 编译、安装
./make.sh
./make.sh install
安装 FastDFS
(1)下载 FastDFS 源码包到 /usr/local/src 目录
下载地址:https://github.com/happyfish100/fastdfs/archive/refs/tags/V6.07.tar.gz
(2)解压
cd /usr/local/src/
tar -zxf fastdfs-6.07.tar.gz
cd fastdfs-6.07
(3)编译、安装(编译前要确保已经成功安装了 libfastcommon)
./make.sh
./make.sh install
fastdfs可执行文件目录:/usr/bin/
fastdfs配置文件目录: /etc/fdfs/
配置Tracker
进入配置文件目录
cd /etc/fdfs
拷贝出一个tracker.conf
cp tracker.conf.sample tracker.conf
修改配置
vim tracker.conf
vi /etc/fdfs/tracker.conf 修改的内容如下:
disabled=false
port=22122
base_path=/app/fastdfs/tracker-data
创建基础数据目录(参考基础目录 base_path 配置):
mkdir -p /app/fastdfs/tracker-data
4、 防火墙中打开跟踪器端口(默认为 22122)
5、 启动 Tracker:
/etc/init.d/fdfs_trackerd start
初次成功启动,会在 /app/fastdfs/tracker-data 目录下创建 data、logs 两个目录
查看 FastDFS Tracker 是否已成功启动:
ps -ef | grep fdfs
6、 关闭 Tracker:
/etc/init.d/fdfs_trackerd stop
7、 设置 FastDFS 跟踪器开机启动:
vi /etc/rc.d/rc.local 添加以下内容:
FastDFS Tracker
/etc/init.d/fdfs_trackerd start
3.2.2 配置Storage Server
进入配置文件目录
cd /etc/fdfs
拷贝出一个storage.conf
cp storage.conf.sample storage.conf
修改配置
vim storage.conf
修改的内容如下:
disabled=false
port=23000
base_path=/app/fastdfs/storage-data
store_path0=/app/fastdfs/storage-data
tracker_server = 192.168.76.129:22122
tracker_server = 192.168.76.130:22122
http.server_port=8888
3、 创建基础数据目录(参考基础目录 base_path 配置):
mkdir -p /app/fastdfs/storage-data
4、 防火墙中打开存储器端口(默认为 23000):
vi /etc/sysconfig/iptables 添加如下端口行: -A INPUT -m state state NEW -m tcp -p tcp dport 23000 -j ACCEPT 重启防火墙: # service iptables restart
5、 启动 Storage:
/etc/init.d/fdfs_storaged start
初次成功启动,会在 /app/fastdfs/storage-data 目录下创建 data、logs 两个目录
查看 FastDFS Storage 是否已成功启动
ps -ef | grep fdfs
6、 关闭 Storage:
/etc/init.d/fdfs_storaged stop
7、 设置 FastDFS 存储器开机启动:
vi /etc/rc.d/rc.local 添加:
FastDFS Storage
/etc/init.d/fdfs_storaged start
各节点启动动,使用
tail -f /fastdfs/storage/logs/storaged.log
命令监听存储节点日志,可以看到存储节点链接到跟踪器,并提示哪一个为 leader 跟踪器。
同时也会看到同一组中的其他节点加入进来的日志信息。
查看 23000 端口监听情况:
netstat -unltp|grep fdfs
所有 Storage 节点都启动之后,可以在任一 Storage 节点上使用如下命令查看集群信息:
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
可以看到存储节点状态为 ACTIVE 则可
在Storage 上安装 Nginx
1、fastdfs-nginx-module 作用说明
FastDFS 通过 Tracker 服务器,将文件放在 Storage 服务器存储,但是同组存储服务器之间需要进入
文件复制,有同步延迟的问题。假设 Tracker 服务器将文件上传到了 192.168.1.135,上传成功后文件 ID
已经返回给客户端。此时 FastDFS 存储集群机制会将这个文件同步到同组存储 192.168.1.136,在文件还
没有复制完成的情况下,客户端如果用这个文件 ID 在 192.168.1.136 上取文件,就会出现文件无法访问的
错误。而 fastdfs-nginx-module 可以重定向文件连接到源服务器取文件,避免客户端由于复制延迟导致的
文件无法访问错误。(解压后的 fastdfs-nginx-module在 nginx 安装时使用)
先安装 pcre和pcre-devel
yum install -y pcre pcre-devel zlib-devel
2、上传fastdfs-nginx-module-1.22.tar.gz 到/usr/local/src,解压
cd /usr/local/src/
tar -zxf fastdfs-nginx-module-1.22.tar.gz
6、编译安装 Nginx(添加fastdfs-nginx-module 模块)
cd /usr/local/src/
tar -zxf nginx-1.20.2.tar.gz
cd nginx-1.20.2
./configure –add-module=/usr/local/src/fastdfs-nginx-module-1.22/src
make
make install
cp /usr/local/src/fastdfs-nginx-module-1.22/src/mod_fastdfs.conf /etc/fdfs
编辑mod_fastdfs.conf
cd /etc/fdfs/mod_fastdfs.conf
vim mod_fastdfs.conf
修改内容如下:
connect_timeout=10
base_path=/tmp
tracker_server=192.168.76.129:22122
tracker_server=192.168.76.130:22122
storage_server_port=23000
group_name=group1
url_have_group_name = true
store_path0=/app/fastdfs/storage-data
fastdfs-nginx-module 依赖了两个配置文件 http.conf, mine.types文件,这两个文件在 fastdfs源码目录的conf目录下,需要拷贝到/etc/fdfs目录
cp /usr/local/src/fastdfs-6.07/conf/http.conf /etc/fdfs
cp /usr/local/src/fastdfs-6.07/conf/mime.types /etc/fdfs
查看一下http.conf
vim /etc/fdfs/http.conf
if use token to anti-steal
default value is false (0)
http.anti_steal.check_token = false
token TTL (time to live), seconds
default value is 600
http.anti_steal.token_ttl = 900
secret key to generate anti-steal token
this parameter must be set when http.anti_steal.check_token set to true
the length of the secret key should not exceed 128 bytes
http.anti_steal.secret_key = FastDFS1234567890
http.conf 中的这几项用于防盗链设置,http.anti_steal.check_token = true 表示开启token验证。http下载的时候需要携带?token=xxxx 参数
修改一下nginx.conf,增加一个location 匹配。 nginx.conf 文件在/usr/local/nginx/conf目录
[root@sybj-int-27 fdfs]# cd /usr/local/nginx/conf/
[root@sybj-int-27 conf]# vim nginx.conf
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
# 增加这一行
location ~/group([0-9])/M00 {
ngx_fastdfs_module;
}
至此nginx 和fastdfs-nginx-module 配置完毕,所有storage节点都需要安装,执行以上步骤。
在两台机器上 启动nginx
评论