最近接触到了FastDFS,结果配置的时候遇到了非常多的问题!写来自己看看!
注:首先你先到网上下载好这些个包,我都已经上传了不用金币下载!
一丶接下来的问题就比较简单了
将所有的包解压好,安装的顺序如下:libevent->libfastcommon->FastDFS->fastdfs-nginx-module(最后这个我们得去结合nginx的安装配置,你可以看我ubuntu配置nginx的博文)
二丶安装
安装主要用到两个命令
进入解压后的包中:
1.前面的三个包仿佛都是按照下面的方法安装的
libevent
sudo ./configure prefix=/usr/local
sudo make
sudo make install
libfastcommon FastDFS
sudo ./make.sh
sudo ./make.sh install
2.最后一个fastdfs-nginx-module比较繁琐,你慢慢来:
这个包的安装是要结合nginx一起安装的,所以说如果你在安装这个包之前已经安装好了nginx,那么你得先卸载nginx
rm -rf /etc/nginx/
rm -rf /usr/sbin/nginx
rm /usr/share/man/man1/nginx.1.gz
apt-get remove nginx*
解压好那个包,这里我将这个fastdfs-nginx-module复制到了/opt/的文件夹目录之下,安装之前得改下配置否则会报错:
In file included from /opt/fastdfs/fastdfs-nginx-module/src/ngx_http_fastdfs_module.c:6:0:
/opt/fastdfs/fastdfs-nginx-module/src/common.c:21:25: fatal error: fdfs_define.h: No such file or directory
#include "fdfs_define.h"
^
compilation terminated.
make[1]: *** [objs/addon/src/ngx_http_fastdfs_module.o] Error 1
make[1]: Leaving directory `/opt/nginx-1.12.2'
make: *** [build] Error 2
我们得修改fastdfs-nginx-module/src/config文件,找到如下位置改成下面的这个样子:
CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/"
重新安装配置nginx,运行下面的命令
./configure --prefix=/usr/local/nginx --add-module=/opt/fastdfs-nginx-module/src
#注意上面的fastdfs-nginx-module的路径一定要是对的要不然会报找不到src下config的错误
sudo make
sudo make install
这样就基本上就装好了nginx了
但是还需要下面的配置才能整合nginx和fastdfs
把/root/fastdfs-nginx-module/src/mod_fastdfs.conf文件复制到/etc/fdfs目录下。
修改mod_fastdfs.conf文件,主要修改以下四个地方
tracker_server=192.168.133.128:22122
group_name=group1
url_have_group_name = true
注:这里修改你要根据你自己的目录修改
将libfdfsclient.so拷贝至/usr/lib下
cp /usr/lib64/libfdfsclient.so /usr/lib/
最后在nginx的配置文件中添加一个Server:
server {
listen 80;
server_name 192.168.101.3;
location /group1/M00/{
root /home/FastDFS/fdfs_storage/data;
ngx_fastdfs_module;
}
}
注:这样差不多就完成配置了,然而你可能会遇到以下的问题,别担心!修改下就应该没问题了!
三丶问题
其实安装过程当中没花多少时间主要的是配置的问题,这个弄了我好久头痛!!!
安装后文件在这几个目录下:
/etc/fdfs
/usr/lib64
/usr/bin
接下来是我印象中出现的各种问题!!!
1)找不到libfastcommon.so
把/usr/lib64文件夹中的所有东西复制到/usr/lib文件夹下
2)拒绝 Connection问题
关闭ubuntu的防火墙吧!!
sudo ufw disable 关闭防火墙
sudo ufw enable 开启防火墙
sudo ufw status 查看防火墙的状态
3)配置问题
FastDFS主要配置三个文件:tracker.conf storage.conf client.conf
1.tracker.conf:
base_path的地址可改可不改
建议不改但是系统是没有那些个文件夹的因此你得手动创建
sudo mkdir /home/yuqing/fastdfs
2.storage.conf:
tracker_server的地址改成你服务器的ip端口号默认就行
tracker_server=192.168.133.128:22122
注:上面的路径必须都是真实存在的没有会报错 如果没有就sudo mkdir 自己建立下
3.client.conf
这个也改下ip就行了
tracker_server=192.168.133.128:22122
剩下的就是把这三个配置文件复制到/usr/bin目录下了,这样启动的时候指定config文件比较方便,当然你不复制也行,指定config文件的时候把绝对路径加到命令上也行。
4)nginx报错
[2017-03-26 11:42:50] ERROR - file: shared_func.c, line: 960, open file /etc/fdfs/mod_fastdfs.conf fail, errno: 2, error info: No such file or directory
[2017-03-26 11:42:50] ERROR - file: /opt/fastdfs-nginx-module/src/common.c, line: 155, load conf file "/etc/fdfs/mod_fastdfs.conf" fail, ret code: 2
2017/03/26 11:42:50 [alert] 11914#0: worker process 11915 exited with fatal code 2 and cannot be respawned
注:这个是挺恶心的,现在下面教你怎么解决
我是有把mod_fastdfs.conf放置在etc/fsdf下的但是他后面又报了这个错
[2017-03-26 11:52:26] ERROR - file: ini_file_reader.c, line: 315, include file "http.conf" not exists, line: "#include http.conf"
[2017-03-26 11:52:26] ERROR - file: /opt/fastdfs-nginx-module/src/common.c, line: 155, load conf file "/etc/fdfs/mod_fastdfs.conf" fail, ret code: 2
2017/03/26 11:52:26 [alert] 12135#0: worker process 12136 exited with fatal code 2 and cannot be respawned
这时候你得到,你解压FastDFS_v5.05的文件夹中的conf目录下找到,http.conf和mime.types文件然后给他复制到etc/fdfs文件夹下,然后就可以了!!!!!!注:遇到问题别慌到你安装nginx的logs文件夹下找到error.log文件看看报的是什么错
如果发生了,你已经上传图片上传成功了,但是用nginx却没有办法访问,总是报404错误,那么这样的话要在use/local/nginx/conf中修改nginx.conf在开头加一句:
user root;
4丶FastDFS的启动和关闭
我把etc/fdfs中的文件复制到了usr/bin/fdfs之下,然后把usr/bin中有关fdfs的文件也复制了一份到usr/bin/fdfs之下
运行tracker服务器
fdfs_trackerd tracker.conf
注:前提是你的这两个文件在同一个目录下 如果不在同一个目录下就不能这么写,这里我的
运行sotrage服务器
fdfs_storage stroage.conf
进行测试
sudo fdfs_test client.conf upload 你要上传的文件的名称
这样就OK啦!