fastDFS+nginx文件分布式存储服务器安装过程

11 篇文章 0 订阅
6 篇文章 0 订阅

〇. 准备

下载 依赖包libfastcommon-master.zip和安装包fastdfs-master.zip

下载 nginx-1.8.1.tar.gz 和 fastdfs-nginx-module-master.zip

ubuntu版本为: 18.10

一. 安装fastdfs依赖包

1. 解压缩libfastcommon-master.zip

unzip libfastcommon-master.zip

2. 进入到libfastcommon-master的目录中

cd libfastcommon-master

3. 编译依赖包

./make.sh

4. 安装依赖包

sudo ./make.sh install

二. 安装fastdfs

1. 解压fastdfs-master.zip

unzip fastdfs-master.zip

2. 进入到 fastdfs-master目录中

cd fastdfs-master

3. 编译fastdfs

./make.sh

4. 安装fastdfs

sudo ./make.sh install

 

三. 配置跟踪(调度)服务器tracker

1. 复制tracker的配置文件tracker.conf.sample, 并重命名为tracker.conf

sudo cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf

2. 在/home/python/目录中创建目录 fastdfs/tracker: 用于存储追踪调度信息

mkdir -p /home/python/fastdfs/tracker

3. 修改tracker配置文件的信息

sudo vim /etc/fdfs/tracker.conf

修改 base_path=/home/python/fastdfs/tracker

 

四. 配置存储服务器storage

1. 复制storage的配置文件storage.conf.sample, 并重命名为storage.conf

sudo cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf

2. 在/home/python/目录中创建目录 fastdfs/storage: 用于存储上传的文件

mkdir –p /home/python/fastdfs/storage

3. 修改storage配置文件信息

sudo vim /etc/fdfs/storage.conf

base_path=/home/python/fastdfs/storage

store_path0=/home/python/fastdfs/storage

tracker_server=自己ubuntu的ip地址:22122

 

五. 启动调度服务器tracker 和 存储服务器storage

方法1: (启动失败时,采用方法2)

sudo service fdfs_trackerd start
sudo service fdfs_storaged start

方法2: 

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start

六. 测试是否安装成功

1. 复制client的配置文件client.conf.sample, 并重命名为client.conf

sudo cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf

2. 修改client配置文件

sudo vim /etc/fdfs/client.conf

base_path=/home/python/fastdfs/tracker
tracker_server=自己ubuntu的ip地址:22122

3. 上传文件测试

方法1: (失败时,采用方法2)

fdfs_upload_file /etc/fdfs/client.conf 要上传的图片文件
例: fdfs_upload_file /etc/fdfs/client.conf images.jpg

方法2: 

/usr/bin/fdfs_upload_file /etc/fdfs/client.conf 要上传的图片文件
例: /usr/bin/fdfs_upload_file /etc/fdfs/client.conf images.jpg

如果返回类似group1/M00/00/00/wKgAf1wvCy6AG3FZAAA9Hv8O0zA328.jpg的文件id则说明文件上传成功

上传后的文件存放位置在/fastdfs/storage/data: 

例如上述文件上传后的位置在: /home/python/fastdfs/storage/data/00/00/wKgAf1wvCy6AG3FZAAA9Hv8O0zA328.jpg

 

七. 安装nginx及fastdfs-nginx-module

1. 解压nginx-1.8.1.tar.gz

tar -zxvf nginx-1.8.1.tar.gz

2. 解压 fastdfs-nginx-module-master.zip

unzip fastdfs-nginx-module-master.zip

3. 进入nginx-1.8.1目录

cd nginx-1.8.1

4. 执行编译前需要安装如下依赖库

# 安装gcc g++的依赖库
sudo apt-get install build-essentialsudo apt-get install libtool
# 安装pcre依赖库(http://www.pcre.org/)
sudo apt-get updatesudo apt-get install libpcre3 libpcre3-dev
# 安装zlib依赖库(http://www.zlib.net)
sudo apt-get install zlib1g-dev
# 安装SSL依赖库(16.04默认已经安装了)
sudo apt-get install openssl

5. 创建安装目录

mkdir /usr/local/nginx

6. 执行预编译命令

sudo ./configure --prefix=/usr/local/nginx/ --add-module=/home/python/fastdfs-nginx-module-master/src

sudo make

执行预编译命令如果出现cc1: all warnings being treated as errors问题

解决方案:

修改文件 /home/python/nginx-1.8.1/objs/Makefile 去掉其中的 -Werror

sudo vim /home/python/nginx-1.8.1/objs/Makefile

执行预编译

sudo make install

7. 复制配置文件 fastdfs-nginx-module-master/src/mod_fastdfs.conf 到 /etc/fdfs/mod_fastdfs.conf

sudo cp fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/mod_fastdfs.conf

8. 修改配置文件mod_fastdfs.conf内容

sudo vim /etc/fdfs/mod_fastdfs.conf

修改内容如下: 

connect_timeout=10

tracker_server=自己ubuntu虚拟机的ip地址:22122

url_have_group_name=true

store_path0=/home/python/fastdfs/storage

 

9. 复制配置文件 fastdfs-master/conf/http.conf 到 /etc/fdfs/http.conf

sudo cp fastdfs-master/conf/http.conf /etc/fdfs/http.conf

10. 复制配置文件fastdfs-master/conf/mime.types 到 /etc/fdfs/mime.types

sudo cp fastdfs-master/conf/mime.types /etc/fdfs/mime.types

11. 复制配置文件nginx-1.8.1/conf/nginx.conf 到 /usr/local/nginx/conf/nginx.conf

sudo cp nginx-1.8.1/conf/nginx.conf /usr/local/nginx/conf/nginx.conf

在http部分中添加配置信息如下:

server {
            listen       8888;
            server_name  localhost;
            location ~/group[0-9]/ {
                ngx_fastdfs_module;
            }
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
}

12. 启动nginx

sudo /usr/local/nginx/sbin/nginx

八. 整体文件上传测试

1. 测试前需要保证模块mutagen已安装

pip3 install mutagen

2. 保证跟踪服务器, 存储服务器以及Nginx已打开

# 打开跟踪服务器
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
# 打开存储服务器
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
# 打开Nginx
sudo /usr/local/nginx/sbin/nginx

3. 写一个测试代码

from fdfs_client.client import Fdfs_client
  
def main():
    client = Fdfs_client("/etc/fdfs/client.conf")
    ret = client.upload_by_filename("images.jpg")
    print(ret)


if __name__ == '__main__':
    main()

4. 如果有返回值如下, 说明上传成功: 

{'Group name': 'group1', 'Remote file_id': 'group1/M00/00/00/wKgAf1w0bZyAVxnQAAA9Hv8O0zA358.jpg', 'Status': 'Upload successed.', 'Local file name': 'images.jpg', 'Uploaded size': '15.00KB', 'Storage IP': '192.168.0.127'}

5. (补充)查看文件上传位置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值