2024-11-21 ngxin 与 fdsf分布式文件存储

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容