在 CentOS6.8 下配置安装部署FastDFS5.05+Nginx模块上传测试

本人这两天刚涉足分布式文件系统,在网上找了很多FastDFS相关文章都存在不少的坑,花了两天时间,总算还是弄出来了,针对刚涉足FastDFS分布式文件系统的童鞋,写了这篇文章,希望你们菜更少的坑,话不多说直接进入主题,有错误的地方请多指教。

以下为本次测试所要使用的几个主要文件:

下载文件拷贝文件到root目录下


一、安装 libfastcommon 和 FastDFS

1.安装 libfastcommon

a.安装libfastcommon前需要安装以下依赖包(系统如果带有就不用安装):
yum install -y gcc 
yum install -y gcc-c++ 

b.解压 libfastcommon,命令:
tar -zxvf libfastcommon-1.0.7.tar.gz

c.编译,进入libfastcommon-1.0.7目录,命令:
cd libfastcommon-1.0.7
./make.sh


d.安装,命令:
./make.sh install


显示这样的画面,就是安装 libfastcommon成功。

2.安装FastDFS

a.解压 FastDFS ,命令:
tar -zxvf V5.05.tar.gz

b.编译,进入fastfds-5.05目录,命令:
cd fastdfs-5.05
./make.sh


c.安装,命令:
./make.sh install


显示这样的画面,就是安装 FastDFS 成功。

二、配置 Tracker 服务

a.上述安装成功后,进入 /etc/fdfs/目录下有三个.sample后缀的文件,这是实例文件


b.将三个文件的后缀都修改为.conf

c.打开tracker.conf文件,只需要找到你只需要该这两个参数就可以了,其他默认就行
# the base path to store data and log files
base_path=/home/qujiayou/fastdfs_tracker
注:设置tracker的数据文件和日志目录(没有则需要预先创建)
# HTTP port on this tracker server
http.server_port=80
注:port=22122这个端口参数不建议修改,除非你已经占用它了。
修改完成保存并且退出vim
d.接下来启动tracker服务
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
e.查看服务是否启动成功
netstat -unltp|grep fdfs

f.启动成功后,将tracker的启动添加到服务器的开启自启:
打开文件 vi /etc/rc.d/rc.local
将如下命令添加到该文件中:
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start


保存后退出

三、配置 Storage 服务

现在开始配置 Storage 服务,由于我这是单机器测试,你把 Storage 服务放在多台服务器也是可以的,它有 Group(组)的概念,同一组内服务器互备同步,这里不再演示。直接开始配置,依然是进入/etc/fdfs的目录操作,首先进入它。会看到三个.sample后缀的文件,我们需要把其中的storage.conf.sample文件改为storage.conf配置文件并修改它。配置文件在配置tracker时已经统一修改 现在就不在赘述
a.打开storage.conf文件后,找到这两个参数进行修改:
# the base path to store data and log files
base_path=/home/qujiayou/fastdfs_storage_log
注:目录日志(没有改目录则预先创建)

# store_path#, based 0, if store_path0 not exists, it's value is base_path
# the paths must be exist
store_path0=/home/qujiayou/fastdfs_storage_data 
#store_path1=/home/yuqing/fastdfs2
注:储存路径(没有改目录则预先创建)

# tracker_server can ocur more than once, and tracker_server format is
#  "host:port", host can be hostname or ip address
tracker_server=120.76.20.77:22122
注:tracker服务器的IP地址和端口号

b.接下来启动tstorage服务
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
c.查看服务是否启动成功
netstat -unltp|grep fdfs

d.启动成功后,通过fdfs_monitor查看集群情况,即storage是否已经注册到了tracker服务器中
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

表示注册成功!
e.将tracker的启动添加到服务器的开启自启:
打开文件 vi /etc/rc.d/rc.local
将如下命令添加到该文件中:
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

保存后退出
f.配置client.conf客户端配置文件
vim /etc/fdfs/client.conf

配置完成后保存退出
到此为止 FastDFS部署完成 
接下来进入到nginx模块安装

=============================================================================

四、安装和配置Nginx和Fastdfs-nginx-module服务

1.安装nginx前,需要配置以下依赖

a. yum install -y gcc (libfastcommon之前已经安装了)
b. yum install -y gcc-c++ (libfastcommon之前已经安装了)
c. yum install -y pcre pcre-devel
d. yum install -y zlib zlib-devel
e. yum install -y openssl openssl-devel

2.安装nginx和fastdfs-nginx-module

a.解压nginx,命令
tar -zxvf tar -zxvf nginx-1.13.1.tar.gz 

b. 解压fastdfs-nginx-module
tar-zxvf fastdfs-nginx-module_v1.15.tar.gz

c..配置 nginx 安装,加入fastdfs-nginx-module模块,进入nginx-1.13.1目录,命令
./configure --prefix=/usr/local/nginx --add-module=/root/fastdfs-nginx-module/src/

显示以下内容表示模块加入成功

d.然后进行编译,在nginx-1.13.1目录下,命令
make

以上画面表示编译成功
e.安装 命令
make install
1)安装完后,进入/usr/local/目录,看见nginx文件目录表示nginx安装成功


2)输入 /usr/local/nginx/sbin/nginx -V
显示如下fastdfs-nginx-module信息,表示fastdfs-nginx-module安装成功



f.如果c.步骤报错,需要先执行以下两个步骤后再执行c、d、e三个步骤:
1) 解压fastdfs-nginx-module_v1.15.tar.gz后,进入/root/fastdfs-nginx-module/src目录,编config,找到CORE_INCS这行,将路径中的local全部去掉,变成CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"


2)建立软连接,命令
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

3.配置nginx和fastdfs-nginx-module

a.编辑nginx.conf文件,命令
vim /usr/local/nginx/conf/nginx.conf
在文件中增加:
location group/M00 {
root /home/qujiayou/fastdfs_storage_data/data;
ngx_fastdfs_module;
}

b.将/root/fastdfs-5.05/conf下的所有文件除storage.conf,client.conf,tracker.conf三个文件全部拷贝到/etc/fdfs/目录下,命令

cp -r /root/fastdfs-5.05/conf/. /etc/fdfs/下,同名不覆盖即可


c.将/root/fastdfs-nginx-module/src/mod_fastdfs.conf文件复制到 /etc/fdfs/下,命令

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

d.编辑mod_fastdfs.conf这个文件,配置如下

1)base_path=/opt/fastdfs_storage_info #保存日志目录
2)tracker_server=192.168.224.20:22122 #tracker服务器的IP地址及端口号
3)storage_server_port=23001 #storage服务器的端口号
4)group_name=group2 #当前服务器的group名
5)url_have_group_name= true #文件url是否有group名
6)store_path_count=1 #储存路径个数,store_path个数匹配
7)store_path0=/opt/fastdfs_storage_data #存储路径
8)http.need_find_content_type=true #从文件扩展名找到文件类型(nginx时为true)
9)group_count= 2 #设置组的个数

e.建立软连接

ln -s /home/qujiayou/fastdfs_storage_data/data /home/qujiayou/fastdfs_storage_data/data/M00

f.启动nginx,会打印出fastdfs模块的pid,看看日志是否报错,命令

/usr/local/nginx/sbin/nginx

g.输入ip 显示如下页面表示nginx启动成功

h.如果打开浏览器登录地址无法访问
则开放80端口访问权限或则关闭防火墙(本地测试可以关闭防火墙,线上测试慎重)
i.开放80端口访问权限,命令
vim /etc/sysconfig/iptables-A INPUT -mstate --state NEW -m tcp -p tcp --dport80 -j ACCEPT



重启防火墙,使设置生效
service iptables restart
再次刷新浏览器,可以看到nginx主页,说明我们 Nginx 结合 fastdfs-nginx-module 模块安装并配置成功啦!

五、上传测试

1.上传一张测试图片到根目录


执行上传命令
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /1.jpg
显示如下地址表示图片上传成功

再将图片路径粘贴到浏览器中则可以访问图片了

六、总结

这篇文章将整个fastdfs在centos上部署了一遍,加上nginx及模块的上传和测试,总算大功告成,如果在云服务器上部署,文章中写的有些问题可能你不会碰上,本地环境上不可预见性的问题更多,文章中没有涉及分组和多台服务器,也没有在tracker上安装nginx,如果你有兴趣你不妨可以测试一下。

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值