环境准备
- CentOS7.x服务器两台,分别安装tracker与storage(也可以只使用一台同时安装tracker与storage)
-
下载FastDFS安装包:
FastDFS下载地址:https://github.com/happyfish100/libfatscommon:FastDFS分离出的一些公用函数包 FastDFS:FastDFS本体 fastdfs-nginx-module:FastDFS和nginx的关联模块
-
下载Nginx安装包
下载地址:http://nginx.org/en/download....nginx用来提供访问服务
- 将下载好的安装包上传到服务器上
安装步骤
以下安装步骤tracker和storage都要执行
1、安装基础环境
yum install -y gcc gcc-c++
yum -y install libevent
2、解压libfatscommon函数库
# 解压
tar -zxvf libfastcommon-1.0.43.tar.gz
3、进入libfastcommon文件夹,编译并且安装
./make.sh
./make.sh install
4、解压fastdfs主程序文件
# 解压
tar -zxvf fastdfs-6.06.tar.gz
5、进入fastdfs目录,安装fastdfs主程序
./make.sh
./make.sh install
-
/usr/bin
中包含了可执行文件:
-
/etc/fdfs
包含了配置文件:
6、将安装文件夹下的配置文件拷贝到/etc/fdfs目录下
cp /home/software/fastdfs-6.06/conf/* /etc/fdfs/
配置tracker服务
1、说明
tracker和storage都是同一个fastdfs的主程序的两个不同概念,配置不同的配置文件就可以设定为tracker或者storage
2、配置tracker/etc/fdfs
下都是一些配置文件,配置tracker即可
vim tracker.conf
3、修改tracker配置文件中的tracker工作目录,保存数据以及日志
base_path=/usr/local/fastdfs/tracker
保存并退出,然后创建/usr/local/fastdfs/tracker目录
mkdir /usr/local/fastdfs/tracker -p
4、启动tracker服务
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
检查进程如下:
ps -ef|grep tracker
启动成功!
5、停止tracker
/usr/bin/stop.sh /etc/fdfs/tracker.conf
配置storage服务
vim storage.conf
# 修改storage的工作空间
base_path=/usr/local/fastdfs/storage
# 修改storage的存储空间
store_path0=/usr/local/fastdfs/storage
# 修改tracker的地址和端口号,用于心跳
tracker_server=192.168.0.170:22122
创建目录
mkdir /usr/local/fastdfs/storage -p
2、启动storage
启动storage欠必须先启动tracker
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
检查进程如下:
ps -ef|grep storage
启动成功!
测试上传
1、修改的client配置文件
vim client.conf
base_path=/usr/local/fastdfs/client
#tracker的ip根据实际tracker的ip地址配置
tracker_server=192.168.0.170:22122
创建目录
mkdir /usr/local/fastdfs/client
2、测试
这里以上传/etc/fdfs目录下的anti-steal.jpg文件进行测试
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /etc/fdfs/anti-steal.jpg
报错,这里是因为tracker服务器的22122端口没开放,开放端口后重新上传
上传成功!这里remote_filename显示了上传后存储目录(在前面配置的storage的store_path0=/usr/local/fastdfs/storage下),url为远程访问地址,这里还不能远程访问,配置了nginx模块后才能访问。
cd /usr/local/fastdfs/storage/data
配置 nginx
fastdfs安装好以后是无法通过http访问的,这个时候就需要借助nginx了,所以需要安装fastdfs的第三方模块到nginx中,就能使用了。
注:nginx需要和storage在同一个节点。
1、安装nginx插件
- 解压nginx的fastdfs压缩包
tar -zxvf fastdfs-nginx-module-1.22.tar.gz
- 进入解压后文件夹的src目录下,复制配置文件到fdfs目录下
cp mod_fastdfs.conf /etc/fdfs
- 修改/fastdfs-nginx-module/src/config文件,主要是修改路径,把
local
删除,因为fastdfs安装的时候我们没有修改路径,原路径是/usr
:
2、安装nginx
安装步骤参考:https://segmentfault.com/a/11...
注意:配置命令与该文章中略有不同,需要增加一个fastdfs-nginx-module
模块,即下面的最后一行,以实际路径为准
./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=/home/software/fastdfs-nginx-module-1.22/src
vim mod_fastdfs.conf
base_path=/usr/local/fastdfs/tmp
#tracker地址
tracker_server=192.168.0.170:22122
url_have_group_name = true
store0_path=/usr/local/fastdfs/storage
创建base_path目录
mkdir /usr/local/fastdfs/tmp
server {
listen 8888;
server_name localhost;
location /group1/M00 {
ngx_fastdfs_module;
}
}