FastDFS分布式文件系统搭建(二)FastDFS+Nginx实现分布式文件系统
1 FastDFS
安装环境
FastDFS
是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。
首先安装gcc
编译环境
yum install gcc-c++
2 安装libevent
FastDFS依赖libevent
库,需要安装:
yum -y install libevent
3 安装libfastcommon
这里强调一下,此包 包含了FastDFS运行所需要的一些基础库,可从Github下载master这个版本,和后边的FastDFS
版本有关系.
将该文件拷贝到/usr/local/下
cd /usr/local
unzip libfastcommon-master.zip
cd libfastcommon-master
./make.sh
./make.sh install
libfastcommon
默认安装到了
- /usr/lib64/libfastcommon.so
- /usr/lib64/libfdfsclient.so
因为FastDFS主程序设置的lib目录是/usr/local/lib,所以需要创建软链接.
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
这里需要注意一下,创建软连接时不可直接复制文件到别的地方,会导致文件无可用权限而影响后边的安装.
2.2.3 安装FastDFS
首先下载文件,这里需要和之前的版本保持对应,libfastcommon-master(200k)
对应这里的5.08版本.
tar -zxvf FastDFS_v5.08.tar.gz
cd FastDFS
./make.sh
./make.sh install
安装成功后进入到FastDFS文件,将conf
中的的所有文件拷贝到/etc/fdfs/下.
进入/etc/fdfs/目录下,修改配置文件:
cp tracker.conf # 拷贝
vi tracker.conf # 修改
将 base_path=/home/yuqing/FastDFS
改为
base_path=/home/FastDFS
这时,可以尝试启动项目了:
/usr/bin/fdfs_trackerd/etc/fdfs/tracker.conf restart
设置开机自动启动
vim /etc/rc.d/rc.local
/usr/bin/fdfs_trackerd/etc/fdfs/tracker.conf restart
2.2.4 Storage
安装
如果时在不同的服务器安装,重复以上的步骤即可
之后是配置Storage
服务
修改/etc/fdfs/storage.conf
文件
启动Storage
服务
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart # 重启命令
2.2.5 检测Storage
服务是否正常
1.修改配置文件/etc/fdfs/client.conf
2.测试
/usr/bin/fdfs_test /etc/fdfs/client.conf upload anti-steal.jpg
3.测试结果
至此,FastDFS配置成功.
2.2.5 Nginx安装
现在安装好了FastDFS,可以实现上传图片功能,但是它并没有提供HTTP服务,所以无法通过HTTP来访问文件,这时就需要整合Nginx,让Nginx来实现这个功能。
这里我们先安装fastdfs-nginx-module
,下载地址
- 解压
unzip fastdfs-nginx-module.zip
- 修改压缩包下
/usr/local/fastdfs-nginx-module/src/config
文件,把其中的local
去掉
- 对nginx重新配置(这里主要是将以上的
fastdfs-nginx-module
编译)
./configure --add-module=/usr/local/fastdfs-nginx-module/src
chmod +x *
make
make install
如果你没有Nignx的话,先安一个:
cd /usr/local/src
wget http://nginx.org/download/nginx-1.10.3.tar.gz
tar -zxvf nginx-1.10.3.tar.gz
cd nginx-1.10.3
./configure --add-module=/usr/local/fastdfs-nginx-module/src
make
make install
把/usr/local/fastdfs-nginx-module/src/mod_fastdfs.conf
文件复制到/etc/fdfs
目录下。编辑:
vi mod_fastdfs.conf # 修改
url_have_group_name = true #否则浏览器无法查看图片
2.2.6 配置Nginx
在 nginx的配置文件nginx.conf
中添加一个Server
vim /usr/local/nginx/conf/nginx.conf
添加的server
server {
listen 8888; # 监听的端口
server_name 10.101.100.45; #配置的Stroge服务器地址 location /group1/M00{
root /usr/coallocal/test; #配置的文件上传地址(同之前的配置保持一致)
ngx_fastdfs_module; #插件名称
}
}
2.2.7 启动Nignx
cd nginx
sbin/nginx
测试图片上传:
cd /etc/fdfs
/usr/bin/fdfs_test /etc/fdfs/client.conf upload anti-steal.jpg
浏览器中访问网址