nginx-fastdfs搭建分布式云存储系统

Posted sunpan822

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx-fastdfs搭建分布式云存储系统相关的知识,希望对你有一定的参考价值。

nginx-fastdfs搭建

00-预备工具包:

(1)安装fastdfs所需的软件包:

  • libfastcommon-1.0.38.tar.gz
  • fastdfs-5.11.tar.gz
  • fastdfs-nginx-module-1.20.tar.gz
  • libevent-2.1.8-stable.tar.gz

    (2)安装Nginx所需的软件包:
    • nginx-1.13.7.tar.gz
    • openssl-1.1.0g.tar.gz
    • pcre-8.41.tar.gz
    • zlib-1.2.11.tar.gz

(3)最少准备6台虚拟机:
技术分享图片

01-安装fastdfs:

(1) libfastcommon-1.0.38.tar.gz安装

$ tar xzvf libfastcommon-1.0.38.tar.gz
$ cd libfastcommon-1.0.38
$ sudo ./make.sh

(2) fastdfs-5.11.tar.gz 安装

$ tar xzvf fastdfs-5.11.tar.gz
$ cd fastdfs-5.11
$ ./make.sh
$ sudo ./make.sh install

(3) 配置tracker

192.168.189.128, 192.168.189.130

$ cd /etc/fdfs 
client.conf.sample  storage.conf.sample  storage_ids.conf.sample  tracker.conf.sample

$ sudo su
# cp tracker.conf.sample tracker.conf
# vim tracker.conf

修改tracker.conf:base_path=/home/sunpan/fastdfs/tracker 修改到前建立好的文件路径。
技术分享图片

启动 fastdfs

# /etc/init.d/fdfs_trackerd start

(4) 配置tracker

$ cd /etc/fdfs 
client.conf.sample  storage.conf.sample  storage_ids.conf.sample  tracker.conf.sample

$ sudo su
# cp storage.conf.sample storage.conf
# vim storage.conf

修改storage.conf:group_name(本文设置两组,group1或者group2) tacker_server (前面配置的tracker的IP和端口号) base_path store_path0 ( 这两个路径设置为早已经建立的路径)
技术分享图片

技术分享图片

启动storage的fdfs:

# /etc/init.d/fdfs_storaged start

技术分享图片

02-安装Nginx和fastdfs-nginx-module

** 一定要记得安装 gcc编译依赖环境 **

(1)openssl安装

[[email protected] src]# tar zxvf openssl-1.1.0g.tar.gz
省略安装内容...
[[email protected] src]# cd openssl-1.1.0g
[[email protected] openssl-1.1.0g]# ./config && make && make install
省略安装内容...

(2)pcre安装

[[email protected] src]# tar zxvf pcre-8.41.tar.gz
省略安装内容...
[[email protected] src]# cd pcre-8.41
[[email protected] pcre-8.41]# ./configure && make && make install
省略安装内容...

(3)zlib安装

[[email protected] src]# tar zxvf zlib-1.2.11.tar.gz
省略安装内容...
[[email protected] src]# cd zlib-1.2.11
[[email protected] zlib-1.2.11]# ./configure && make && make install
省略安装内容...

(4)nginx安装

[[email protected] src]# tar zxvf nginx-1.13.7.tar.gz
省略安装内容...
[[email protected] src]# cd nginx-1.13.7
[[email protected] nginx-1.13.7]# ./configure --prefix=/usr/local/nginx --with-http_realip_module --with-http_addition_module --with-http_gzip_static_module --with-http_secure_link_module --with-http_stub_status_module --with-stream --with-pcre=/home/sunpan/works/fastdfs/packet/nginx/pcre-8.41/build --with-zlib=/home/sunpan/works/fastdfs/packet/nginx/zlib-1.2.11/build --with-openssl=/home/sunpan/works/fastdfs/packet/nginx/openssl-1.1.0g/build --add-module=/home/sunpan/works/fastdfs/packet/fastdfs-nginx-module-1.20/src/

zlib openssl pcre等编译的文件路径,如果已经make install ,则可以不with上该路径。

直接configure,会出现错误:
技术分享图片

此时,需要修改 /home/sunpan/works/fastdfs/packet/fastdfs-nginx-module-1.20/src/里的config文件里:

ngx_module_incs

技术分享图片

configure之后就是编译和安装:

make && make install (其实直接make install就行了)

(5)配置Nginx和fastdfs模块

复制fastdfs-nginx-module里的mod_fastdfs.conf(/home/sunpan/works/fastdfs/packet/fastdfs-nginx-module-1.20/src/mod_fastdfs.conf)文件到/etc/fdfs/并配置修改对应路径名。
技术分享图片

技术分享图片

复制fastdfs的http.conf mime.types到/etc/fdfs/

cd /home/sunpan/works/fastdfs/fastdfs-5.11/conf
cp http.conf /etc/fdfs
cp mime.types /etc/fdfs

修改http.conf
技术分享图片

修改Nginx配置文件:/usr/local/nginx/conf/nginx

技术分享图片

修改端口号为前面storage服务器的对应的端口号。

添加location映射。

(5)启动Nginx

/usr/local/nginx/sbin/nginx -c ./conf/nginx.conf

03-测试上传文件

使用fastdfs自带的客户端或者自己编写客户端都可以。

这里使用fastdfs自带的客户端,配置好client.conf就就可以直接上传文件了。

fdfs_upload_file /etc/fdfs/client.conf image.jpg

技术分享图片

上传成功!

可以取访问了,使用storage服务器的ip地址就可以直接在浏览器访问该图片了。
技术分享图片








以上是关于nginx-fastdfs搭建分布式云存储系统的主要内容,如果未能解决你的问题,请参考以下文章

如何在恒讯云服务器上搭建个人IPFS分布式存储文件系统?

如何自己在linux上搭建类似云盘的分布式云存储

分布式存储—千亿存储市场的份额,让人人可参与搭建分布式云

从零开始搭建etcd分布式存储系统+web管理界面

【Minio】基于AWS S3协议搭建个人云存储服务

Kuberntes云原生实战六 使用Rook搭建Ceph集群