1.创建临时目录,存放需要用到的安装包(装完可删除):
mkdir /usr/local/fastdfs_install
2.将 libfastcommon-master.tar.gz 上传到 fastdfs_install 目录 ,然后解压:
tar -zxf libfastcommon-master.tar.gz
3.进入解压后的目录:cd libfastcommon-master
4.编译、安装:
./make.sh
./make.sh install
5.将 FastDFS_v6.06.tar.gz 上传到 fast_install 目录 ,然后解压:
tar -zxf FastDFS_v6.06.tar.gz
6.进入解压后的目录:cd FastDFS
7.编译、安装:
./make.sh
./make.sh install
6.0以后得版本需要执行./setup.sh /etc/fdfs
8.安装成功后可执行文件在如下目录:ll /usr/bin/fdfs*
9.配置文件在:ll /etc/fdfs
10.创建tracker目录: mkdir /data/tracker
11.给目录权限:chmod -R 777 /data
12.将配置文件拷贝一份,再编辑:
# 进入配置文件目录:cd /etc/fdfs
# 拷贝一份:cp tracker.conf.sample tracker.conf
# 编辑:vi tracker.conf
13.主要配置参数如下:
#启用配置文件
disabled=false
#设置tracker的端口号
port=9010
#设置tracker的数据文件和日志目录(需预先创建)
base_path=/data/tracker
#设置http端口号
http.server_port=9011
14.启动,并查看是否安装成功:
# 启动:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
# 查看状态:ps -ef | grep fdfs
15.创建storage目录:mkdir /data/storage
16.将配置文件拷贝一份,在编辑:
# 配置文件目录:cd /etc/fdfs
# 拷贝一份:cp storage.conf.sample storage.conf
# 再编辑:vi storage.conf
17.主要配置文件参数如下:地址不能配置127.0.0.1 要配置ip,否则会报错
# 启用配置文件
disabled=false
# 组名,根据实际情况修改
group_name=group1
# 设置storage的端口号
port=23000
# 设置storage的日志目录(需预先创建)
base_path=/data/storage
# 存储路径个数,需要和store_path个数匹配
store_path_count=1
# 存储路径
store_path0=/data/storage
#tracker服务器的IP地址和端口号
tracker_server=IP:9010
# 设置http端口号
http.server_port=8888
18.启动,并查看是否安装成功:
# 启动 /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
# 查看是否成功 ps -ef | grep fdfs
# 通过fdfs_monitor查看storage服务器是否已经登记到tracker服务器
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
19.设置开机自启,打开开机自启配置文件:vi /etc/rc.d/rc.local
把启动命令放进去:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
21.到这一步FastDFS就基本配置完了,下面内容是集成Nginx以便使用HTTP进行访问文件。
22.先创建一个安装nginx模块的目录:mkdir /data/ngs
23.将 tar -zxf fastdfs-nginx-module_v1.16.tar.gz 上传到fastdfs_install 目录,解压:
tar -zxf fastdfs-nginx-module_v1.16.tar.gz
24.1.把fastdfs-nginx-module复制到 /data/ngs下:cp -R fastdfs-nginx-module /data/ngs/
25.然后找到以前nginx的源码包,如果找不到了,重新下一个,再配置、编译一次:
# 配置 ./configure --add-module=/data/ngs/fastdfs-nginx-module/src
# make 注意这里千万不要make install,不然就覆盖安装了
(1)报了个错:make[1]: *** [objs/addon/src/ngx_http_fastdfs_module.o] 错误 1
解决办法,nginx源码的解压目录,里面有一个client目录,进入client 编译、安装:
make && make install
(2)再回到nginx源码的解压目录,执行make继续报错,则修改config文件如下(去掉local):
# 打开conifg文件 vi /data/ngs/fastdfs-nginx-module/src/config
# 把 /usr/local/include 路径中的 local 去掉 如下:
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
(3)make 报错-Werror=format-truncation
这是警告信息,但是会认为是报错,./configure --add-module=/data/ngs/fastdfs-nginx-module/src后,在/mnt/nginx-1.26.2/objs 下Makefile 里去掉 Werror,make即可;
29.编译成功,然后把以前的nginx可执行文件,用objs目录下的同名文件覆盖掉:
先停掉nginx服务:systemctl stop nginx
cp objs/nginx /usr/local/nginx/sbin/nginx
30.把模块src下的 mod_fastdfs.conf 文件拷贝到 /etc/fdfs 下:
cp /data/ngs/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;
location ~/group[0-9]/ {
ngx_fastdfs_module;
}
}
36.测试文件,通过存储路径就可以通过HTTP直接访问:
http://127.0.0.1/group1/M00/00/00/rBEDAV4CMxmAE6paAAC0X34vITI912.jpg