CentOS下搭建FastDFS完整步骤及相关问题和解决措施

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/milustarting/article/details/81208512

搭建背景及基础:

1.了解FastDFS基本架构原理以及作用.

2.熟悉文件的上传和下载过程.

3.客户机装有Vmware环境,并从官网上下载CentOS7(个人用的事CentOS6).

4.一些安装资源和jar(具体在下面会一一指出)。


第一步 上传文件

CentOS下安装所需要的包

安装libevent工具包
命令:yum -y install libevent

安装:libfastcommonV1.0.7.tar.gz,
     fastdfs-nginx-module_v1.16.tar.gz,
     FastDFS_v5.05.tar.gz
一般这些文件你都是下载在你的windows系统上,需要ftp文件传输工具传到你的liunx系统上。
我个人使用的是FileZllia,可以直接去官网上找。一解压就能用的那种。安装之后:
1. 新建一个站点管理器,主机为CentOS的ip。协议选择SFTP,登录类型正常,用户 选择为root,密码就是你安装CentOS的为root设置的密码

这里写图片描述

2. 点击连接,连接不上时,可能会出现以下问题
–(1) 检查主机获取是否正确,在linux在ifconfig命令查看本机ip,最好在ping一下该主机;格式为:在cmd中 输入:ping 该主机。测试是否能ping通。
–(2) 切换协议为FTP。
–(3) 当前两种错误排除后,第三种错误也为大多数情况的错误:root用户连接错误:
将 /etc/ssh/sshd_config文件中的 Subsystem sftp /usr/libexec/openssh/sftp-server改为Subsystem sftp internal-sft,并且重新启动:sshdservice sshd reload。即可连接。
3. 上传压缩文件。上传到linux系统的目录为/root.
4. 在管理员权限下打开虚拟网络编辑器,添加一个网络,设置为NAT模式,将子网ip改为(一般为192.168.25.0)。点击 NAT设置,将网关改为 25网段(192.168.25.2)。应用并确定

第二步 安装

1. 安装libfastcommonV1.0.7
(1)解压缩 :tar zxf libfastcommonV1.0.7.tar.gz
(2)进入到解压目录底下 依次执行 ./make.sh ./make.sh install 命令
(3)进入 /usr/lib64下 将libfastcommon.so拷贝一份到 /usr/lib/下
2. 安装Tracker服务。
(1)解压缩 :tar zxf FastDFS_v5.05.tar.gz
(2)进入到解压目录底下 依次执行 ./make.sh ./make.sh install 命令
(3)在/usr/bin/目录下有以fdfs开头的文件都是编译出来的。
(4)把/root/FastDFS/conf目录下的所有的配置文件都复制到/etc/fdfs下。
(5)配置tracker服务.修改/etc/fdfs/tracker.conf文件:将 base_path 改成自己的路径(日志文件存放路径),此路径必须存在(个人在/home/fastdfs/tracker,没有此目录,创建即可)
(6)启动tracker 。/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf ——重启使用命令:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart(/usr/bin/fdfs_trackerd为命令 /etc/fdfs/tracker.conf为指定的配置文件)
3. 安装storage服务。
(1)在一台服务器上,省略2中的1-4步,若在不同的服务器上,重新解压FastDFS_v5.05.tar.gz。执行1-4。
(2)配置storage服务,修改/etc/fdfs/storage.conf文件:<1>将 base_path 改成自己的路径(日志文件存放路径),此路径必须存在(个人在/home/fastdfs/storage,没有此目录,创建即可)。 <2>store_path0改为/home/fastdfs/storage。(图片存放路径)。<3>tracker_server=(改为自己的服务器(主机)路径),端口号默认不用改。保存退出
(3)启动storage服务。/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
4.测试
(1). 修改配置文件/etc/fdfs/client.conf: 将 base_path 改成自己的路径(日志文件存放路径),此路径必须存在(个人在/home/fastdfs/client,没有此目录,创建即可) 。将tracker_server=改为自己的ip,端口号默认不用改。
/usr/bin/fdfs_test /etc/fdfs/client.conf upload anti-steal.jpg。上传成功会有最后行显示:example file usr:…………文件的上传路径。

第三步 搭建nginx提供http服务

—-使用官方提供的nginx插件 fastdfs-nginx-module_v1.16.tar.gz,(上面已经提到且已经传输到CentOS下)

1、解压插件压缩包
2、修改/root/fastdfs-nginx-module/src/config文件,把其中的local去掉。
3、对nginx重新config。
./configure \
    --prefix=/usr/local/nginx \
    --pid-path=/var/run/nginx/nginx.pid \
    --lock-path=/var/lock/nginx.lock \
    --error-log-path=/var/log/nginx/error.log \
    --http-log-path=/var/log/nginx/access.log \
    --with-http_gzip_static_module \
    --http-client-body-temp-path=/var/temp/nginx/client \
    --http-proxy-temp-path=/var/temp/nginx/proxy \
    --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
    --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
    --http-scgi-temp-path=/var/temp/nginx/scgi \
    --add-module=/root/fastdfs-nginx-module/src
configure之后

这里写图片描述

4.make :

这里写图片描述

5.make install 。可能会遇到一些错误,提示你缺少什么包之类的东西。这里给大家提供一条看过的博客的链接https://blog.csdn.net/buster2014/article/details/49023825,相关问题可以去查找:
6 把/root/fastdfs-nginx-module/src/mod_fastdfs.conf文件复制到/etc/fdfs目录。修改:<1>:bass_path=(修改自己指定的路径)。<2>:tracker_server=(与之前修改相同)。<3>:url_have_group_name=true。<4>:store_path0=(图片保存路径,与之前相同,/home/fastdfs/storage)
7. nginx的配置:
对/usr/local/nginx/conf/nginx.conf.。重新编辑server:
server{
    listen 80;
    servaneme localhost;
    location /group1/M00{
    ngx_fastdfs_mudule;
}
8. 将libfdfsclient.so拷贝至/usr/lib下 : cp /usr/lib64/libfdfsclient.so /usr/lib/
9. 启动nginx:进入到/usr/local/nginx目录下:sbin/nginx。启动成功系统为为该进程分配端口号。

第四步 使用图片服务器

>官方提供一个jar包
使用方法:
1、把FastDFS提供的jar包添加到工程中
2、初始化全局配置。加载一个配置文件。
3、创建一个TrackerClient对象。
4、创建一个TrackerServer对象。
5、声明一个StorageServer对象,null。
6、获得StorageClient对象。
7、直接调用StorageClient对象方法上传文件即可。

(以上步骤及具体代码和jar包在网上都可以搜到,而且很多,就不在本博客中指出)

使用过程中出现的问题:
>(1)拒绝连接错误。
解决办法:查看服务器是否开启,需要同时将tracker,storage,nginx服务启动(也可以配置这些服务为开机自启,本博客会在后续进行补充)。
>(2)连接超时。
解决办法:可能是由于linux系统没有开放22122 / 23000两个端口。将这两个端口添加到防火墙开放端口中:
关闭防火墙命令:
service iptables stop
将22111和23000端口添加到防火墙中:
/sbin/iptables -I INPUT -p tcp --dport 22122 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 23000 -j ACCEPT
保存
iptables/etc/rc.d/init.d/iptables save
重启iptables
service iptables restart
以上问题及办法若不能解决读者问题,另行查找其他资料

猜你喜欢

转载自blog.csdn.net/milustarting/article/details/81208512
今日推荐