FastDFS分布式存储服务器安装

FastDFS分布式存储服务器安装

环境:ubantu16,anconda,python3.6.2

fastdfs安装
  • 相关包说明
libfastcommon-master.zip 	依赖包
fastdfs-master.zip 			安装包
  • 依赖包安装
unzip libfastcommon-master.zip
cd libfastcommon-master
./make.sh
./make.sh install
  • fastdfs安装
unzip fastdfs-master.zip
cd fastdfs-master
./make.sh
./make.sh install
fastdfs配置
  • 配置跟踪服务器tracker
cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
mkdir –p /home/python/fastdfs/tracker		
vi /etc/fdfs/tracker.conf
修改:
base_path=/home/python/fastdfs/tracker
  • 配置存储服务器storage
cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
mkdir –p /home/python/fastdfs/storage
vi /etc/fdfs/storage.conf
修改:
base_path=/home/python/fastdfs/storage
store_path0=/home/python/fastdfs/storage
tracker_server=虚拟机的ip地址:22122
fastdfs启动
  • 启动tracker
    /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
  • 启动storage
    /usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
fastdfs测试
  • 修改配置文件
cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
vi /etc/fdfs/client.conf
修改:
base_path=/home/python/fastdfs/tracker
tracker_server=虚拟机的ip地址:22122
  • 上传文件测试
fdfs_upload_file /etc/fdfs/client.conf /tmp/test.jpg
如果返回类似group1/M00/00/00/rBIK6VcaP0aARXXvAAHrUgHEviQ394.jpg的文件id则说明文件上传成功
nginx安装
  • 相关包说明
nginx-1.8.1.tar.gz 		nginx安装包
fastdfs-nginx-module-master.zip 	nginx中添加fastdfs模块包
  • 安装
tar -xvf nginx-1.8.1.tar.gz
unzip fastdfs-nginx-module-master.zip
cd nginx-1.8.1
./configure --prefix=/usr/local/nginx/ --add-module=fastdfs-nginx-module-master解压后的目录/fastdfs-nginx-module-master/src
make
make install
  • 安装过程中可能报错缺依赖包
ubuntu下安装nginx时PCRE库、zlib库、OpenSSL库的安装

Nginx是高度自由化的Web服务器,它的功能是由许多模块来支持。如果使用了某个模块,这个模块使用了一些类似zlib或OpenSSL等的第三方库,那么就必须先安装这些软件。Ubuntu下不像在centOS中使用yum直接在线安装,可以使用以下方法。

(1)PCRE库

PCRE库支持正则表达式。如果我们在配置文件nginx.conf中使用了正则表达式,那么在编译Nginx时就必须把PCRE库编译进Nginx,因为Nginx的HTTP模块需要靠它来解析正则表达式。另外,pcre-devel是使用PCRE做二次开发时所需要的开发库,包括头文件等,这也是编译Nginx所必须使用的。可以这样安装:

sudo apt-get install libpcre3 libpcre3-dev  

(2)zlib库
zlib库用于对HTTP包的内容做gzip格式的压缩,如果我们在nginx.conf中配置了gzip on,并指定对于某些类型(content-type)的HTTP响应使用gzip来进行压缩以减少网络传输量,则在编译时就必须把zlib编译进Nginx。zlib-devel是二次开发所需要的库。可以这样安装:


sudo apt-get install zlib1g-dev

(3)OpenSSL库
如果服务器不只是要支持HTTP,还需要在更安全的SSL协议上传输HTTP,那么需要拥有OpenSSL。另外,如果我们想使用MD5、SHA1等散列函数,那么也需要安装它。可以这样安装:

sudo apt-get install openssl libssl-dev 
  • 配置
cp fastdfs-nginx-module-master解压后的目录/src/mod_fastdfs.conf  /etc/fdfs/mod_fastdfs.conf
vi /etc/fdfs/mod_fastdfs.conf
修改:
connect_timeout=10
tracker_server=自己ubuntu虚拟机的ip地址:22122
url_have_group_name=true
store_path0=/home/python/fastdfs/storage

cp fastdfs-master解压后的目录/conf/http.conf  /etc/fdfs/http.conf
cp fastdfs-master解压后的目录/conf/mime.types /etc/fdfs/mime.types
vi /usr/local/nginx/conf/nginx.conf
http部分中添加:
server {
        listen    8888;
        server_name    192.168.226.128;
        location ~/group[0-9]/ {
            ngx_fastdfs_module;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
  • 启动
cd /usr/local/nginx/sbin
./nginx
python客户端上传测试
  • 相关包
client-py-master.zip
  • 安装
pip install client-py-master.zip
  • 测试
>>>from fdfs_client.client import Fdfs_client
>>> client = Fdfs_client('/etc/fdfs/client.conf')
>>> ret = client.upload_by_filename('test')
>>> ret
{'Group name': 'group1', 'Remote file_id': 'group1/M00/00/00/wKjigFvIH5aAUgUYAAA_C2JBPEg953.jpg', 'Status': 'Upload successed.', 'Local file name': '/home/test/1.jpg', 'Uploaded size': '15.00KB', 'Storage IP': '192.168.226.128'}
  • 测试过程中导入模块报错说明
缺什么包,pip install 缺少的安装包
如下:
pip install mutagen
pip install requests
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值