1.下载地址:FastDFS集群安装包.zip_免费高速下载|百度网盘-分享无限制
2.创建临时目录,存放需要用到的安装包(装完可删除):
mkdir /usr/local/fastdfs_install
3.将 libfastcommon-master.zip 上传到 fastdfs_install 目录 ,然后解压:
unzip libfastcommon-master.zip
4.进入解压后的目录:
cd libfastcommon-master
5.编译、安装:
./make.sh
./make.sh install
6.将 FastDFS_v5.08.tar.gz 上传到 fast_install 目录 ,然后解压:
tar -zxf FastDFS_v5.08.tar.gz
7.进入解压后的目录:
cd FastDFS
8.编译、安装:
./make.sh
./make.sh install
9.安装成功后可执行文件在如下目录:
ll /usr/bin/fdfs*
10.配置文件在:
ll /etc/fdfs
11.创建tracker目录
mkdir /data/tracker
12.将目录权限加满:
chmod -R 777 /data
13.将配置文件拷贝一份,再编辑:
# 进入配置文件目录
cd /etc/fdfs
# 拷贝一份
cp tracker.conf.sample tracker.conf
# 编辑
vi tracker.conf
14.主要配置参数如下:
#启用配置文件
disabled=false
#设置tracker的端口号
port=8090
#设置tracker的数据文件和日志目录(需预先创建)
base_path=/data/tracker
#设置http端口号
http.server_port=8010
15.启动,并查看是否安装成功:
# 启动
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
# 查看状态
netstat -unltp | grep fdfs
16.设置开机自启,打开开机自启配置文件:
vi /etc/rc.d/rc.local
17.把启动命令放进去:
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
18.创建storage目录:
mkdir /data/storage
19.将配置文件拷贝一份,在编辑:
# 配置文件目录
cd /etc/fdfs
# 拷贝一份
cp storage.conf.sample storage.conf
# 再编辑
vi storage.conf
20.主要配置文件参数如下:
# 启用配置文件
disabled=false
# 组名,根据实际情况修改
group_name=group1
# 设置storage的端口号
port=2888
# 设置storage的日志目录(需预先创建)
base_path=/data/storage
# 存储路径个数,需要和store_path个数匹配
store_path_count=1
# 存储路径
store_path0=/data/storage
#tracker服务器的IP地址和端口号
tracker_server=127.0.0.1:8090
# 设置http端口号
http.server_port=3888
21.启动,并查看是否安装成功:
# 启动
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
# 查看是否成功
netstat -unltp | grep fdfs
# 通过fdfs_monitor查看storage服务器是否已经登记到tracker服务器
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
22.启动过程中报个错,意思是说不能用127.0.0.1,把第【20】步的tacker_server改成本机IP即可:
[2019-12-24 18:29:03] ERROR - file: storage_func.c, line: 1183,
conf file "/etc/fdfs/storage.conf",
tracker: "127.0.0.1:8090" is invalid,
tracker server ip can't be 127.0.0.1
[2019-12-24 18:29:03] CRIT - exit abnormally!
22.1.到这一步FastDFS就基本配置完了,如果没有分布式需求,就可以不用往下看了,以下内容是集成Nginx以便使用HTTP进行访问文件。
22.2.如果需要安装Nginx则参考:运维类 - CentOS7.6 离线安装 Nginx1.14.0_<!-- -->的博客-CSDN博客
23.先创建一个安装nginx模块的目录:
mkdir /data/nmp
24.将 tar -zxf fastdfs-nginx-module_v1.16.tar.gz 上传到 第【3】步创建的 fastdfs_install 目录,并解压:
tar -zxf fastdfs-nginx-module_v1.16.tar.gz
24.1.把fastdfs-nginx-module复制到 /data/nmp 下:
cp -R fastdfs-nginx-module /data/nmp/
25.然后找到以前nginx的源码包,如果找不到了,重新下一个,再配置、编译一次:
# 配置
./configure --add-module=/data/nmp/fastdfs-nginx-module/src
# 注意这里千万不要make install,不然就覆盖安装了
make
26.报了个错:
make[1]: *** [objs/addon/src/ngx_http_fastdfs_module.o] 错误 1
27.解决办法,进入到 第【6、7】步解压的目录,里面有一个client目录,编译、安装:
make && make install
28.再回到nginx源码的解压目录,重复第【25】步,执行make继续报错,则修改config文件如下(去掉local):
# 打开conifg文件
vi /data/nmp/fastdfs-nginx-module/src/config
# 把 /usr/local/include 路径中的 local 去掉 如下:
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
29.重复第【25】步,编译成功,然后把以前的nginx可执行文件,用objs目录下的同名文件覆盖掉:
cp objs/nginx /usr/local/nginx/sbin/nginx
30.把模块src下的 mod_fastdfs.conf 文件拷贝到 /etc/fdfs 下:
cp /data/nmp/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
31.打开配置文件:
vi /etc/fdfs/mod_fastdfs.conf
32.修改配置文件:
# 存放log目录
base_path=/data/storage
# tracker服务器IP和端口(可写多个)
tracker_server=172.17.3.1:8090
# storage所属的服务器组名
group_name=group1
# url中是否包含group名称
url_have_group_name=true
# 放置文件目录(可写多个)
store_path0=/data/storage
33.修改完成后,启动nginx发现有错误如下:
2019/12/24 22:44:31 [notice] 187972#0:
signal process started ngx_http_fastdfs_process_init pid=187973
[2019-12-24 22:44:31] ERROR -
file: ini_file_reader.c, line: 1029, include file "http.conf" not exists,
line: "#include http.conf"
[2019-12-24 22:44:31] ERROR -
file: /data/nmp/fastdfs-nginx-module/src/common.c, line: 155,
load conf file "/etc/fdfs/mod_fastdfs.conf" fail, ret code: 2
2019/12/24 22:44:31 [alert] 174211#0:
worker process 187973 exited with fatal code 2 and cannot be respawned
34.把FastDFS安装包下的conf文件夹下的http.conf和mime.types复制到/etc/fdfs下,重启nginx:
cp /usr/local/fastdfs_install/FastDFS/conf/http.conf /etc/fdfs/
cp /usr/local/fastdfs_install/FastDFS/conf/mime.types /etc/fdfs/
35.最后在nginx中加入FastDFS存储路径:
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location ~ /group[0-9]/M00 {
root /data/storage/data;
ngx_fastdfs_module;
}
}
36.我之前已经上传过一些测试文件,这边这要找出来当时上传时的存储路径就可以通过HTTP直接访问:
http://172.17.3.1/group1/M00/00/00/rBEDAV4CMxmAE6paAAC0X34vITI912.jpg