Ubuntu下FastDFS的安装

准备工作:

刚安装好的linux系统没有设置root用户密码的,下边介绍如何设置root用户的密码

由于ubtun系统默认是没有激活root用户的,需要我们手工进行操作,在命令行界面下,或者在终端中输入如下命令: 
sudo passwd 或者sudo passwd root
Password:你当前的密码 
Enter new UNIX password:这个是root的密码 
Retype new UNIX password:重复root的密码 

 

无法远程连接:

解决:

1、确认ssh服务已安装,通过普通用户连接成功;

2、确认ssh配置是否对root进行特殊设置,修改/etc/ssh/sshd_config文件中

PermitRootLogin without-password将 without-password改为yes;

3、重启ssh服务/etc/init.d/ssh restart;

 

 

FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。

在Centos7下和在Ubuntu下安装FastDFS是不同的,在Ubuntu上安装FastDFS需要安装libevent,而外Centos上安装FastDFS需要安装libfastcommon。

FastDFS的项目主页:https://github.com/happyfish100/fastdfs

本文以Ubuntu 18.04 64位操作系统为例进行安装,FastDFS版本为5.08.

第一步:安装Git

fastdfs依赖libfastcommon,需要从github上clone到本地编译安装。因此首先需要安装git。

执行命令:

 

apt-get install git


第二步:克隆libfastcommon库

libfastcommon的源在项目 https://github.com/happyfish100/libfastcommon 需要使用git将其clone至本地安装。

执行命令:

 

git clone https://github.com/happyfish100/libfastcommon.git

error: RPC failed

报错原因:

git缓存区不足

解决方案

修改Git的传输字节限制即可。

git config --global http.postBuffer 524288000

 

第三步:安装libfastcommon依赖

进入libfastcommon目录,依次执行脚本:

 

./make.sh

 

./make.sh install

如图:

  注意:

        执行make.sh失败,是由于当前Linux版本中没有相应的编译环境

             解决:

                     安装build-essential的软件包,就可以一次将编译器、make工具、所有的编程头文件、函数库等东东全部安装上,其                      中也包括gcc编译器,这是非常稳妥的安装方式,

                     安装命令是用root用户身份执行: apt-get install build-essential

第四步:设置环境变量和软链接

在32位ubuntu中,libfastcommon会安装在/usr/lib 中,64位系统则安装在 /usr/lib64 中。依次执行以下命令:(根据自己的操作系统选择路径)

 

export LD_LIBRARY_PATH=/usr/lib/

ln -s /usr/lib/libfastcommon.so /usr/local/lib/libfastcommon.so

第五步:下载、解压并安装FastDFS

FastDFS的Github下载地址为:https://github.com/happyfish100/fastdfs/releases

下载完成后,执行命令:

 

tar xzf fastdfs-5.08.tar.gz 


进入解压后的目录,依次执行:

 

./make.sh 

 

./make.sh install

ubuntu fastdfs ./make.sh install 执行报错

2016年04月18日 16:28:26

阅读数:143

ln: failed to create symbolic link ‘/usr/lib64/libfastcommon.so’: No such file or directory
ln: failed to create symbolic link ‘/usr/lib64/libfdfsclient.so’: No such file or directory

解决

修改文件,client/fdfs_link_library.sh.in

#查找:
ln -fs $TARGET_LIB/libfastcommon.so.1 /usr/lib64/libfastcommon.so
ln -fs $TARGET_LIB/libfdfsclient.so.1 /usr/lib64/libfdfsclient.so

#替换成:
ln -fs $TARGET_LIB/libfastcommon.so.1 /usr/lib/libfastcommon.so
ln -fs $TARGET_LIB/libfdfsclient.so.1 /usr/lib/libfdfsclient.so

如图:

第六步:修改配置文件

在默认安装路径 /etc/fdfs 下,有三个示例配置文件:

首先将这三个文件名中的sample去掉,改为:

然后修改 tracker.conf 文件中的日志存放路径 和 tracker server HTTP端口号:

 

 
  1. # the base path to store data and log files

  2. base_path=/home/fastdfs/log

注意,这个路径是根据实际情况自定义的,文件路径需要安装者手动创建,否则后续步骤会报“路径不存在”的错误,下同。

 

 
  1. # HTTP port on this tracker server

  2. http.server_port=8090

接下来修改 storage.conf 文件:

 

 
  1. group_name=group1

  2. store_path0=/home/fastdfs/storage0

  3. base_path=/home/fastdfs/log

  4. tracker_server=192.168.1.108:22122

  5. http.server_port=8888

配置文件里有详细注释说明,这里不再赘述每个参数的作用。

继续修改 client.conf 文件:

 

 
  1. base_path=/home/fastdfs/log

  2. tracker_server=192.168.1.108:22122

  3. http.tracker_server_port=8888

  4. #include http.conf


注意,#include http.conf 这句,原配置文件中有2个#,删掉一个。

最后,修改 http.conf 文件。http.conf 文件在解压目录的conf目录下,里面有个默认图片路径,愿意改就改了吧。

 

http.anti_steal.token_check_fail=/home/fastdfs/anti-steal.jpg

最后确认一下,四个配置文件:

第七步:启动服务

依次执行:

 

 
  1. /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

  2. /usr/bin/fdfs_storaged /etc/fdfs/storage.conf


如果上一步配置文件中的自定义路径没创建,有可能报这个错误:

手动创建目录即可。
执行以下命令,验证服务:

 

neps -ef |grep fdfs


第八步:测试上传文件

首先准备一张图片文件,例如:/home/software/qq.jpg

将这张图片上传至FastDFS,执行:

 

fdfs_test /etc/fdfs/client.conf upload /home/software/qq.jpg


上传成功,生成了两个文件。

 

测试报错

[2018-01-04 16:37:54] ERROR - file: tracker_proto.c, line: 48, server: 192.168.146.111:22122, response status 2 != 0

[2018-01-04 16:37:54] ERROR - file: tracker_proto.c, line: 48, server: 192.168.146.111:22122, response status 2 != 0

tracker_query_storage fail, error no: 2, error info: No such file or directory

# store_path#, based 0, if store_path0 not exists, it's value is base_path
# the paths must be exist
store_path0=/home/fastdfs/storage0

该路径下没有相应的文件夹

/home/fastdfs/storage0

手动创建文件夹storage0

执行:

pkill -9 fdfs

/usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf

/usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf

重新测试成功!!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值