参考文献
https://github.com/happyfish100/
https://github.com/happyfish100/fastdfs/wiki
https://www.cnblogs.com/leechenxiang/p/5406548.html
https://www.cnblogs.com/leechenxiang/p/7089778.html
环境准备
- Centos7.x 两台,分别安装tracker与storage
- 下载安装包:
- libfatscommon:FastDFS分离出的一些公用函数包
- FastDFS:FastDFS本体
- fastdfs-nginx-module:FastDFS和nginx的关联模块
- nginx:发布访问服务
安装步骤 (tracker与storage都要执行)
-
安装基础环境
yum install -y gcc gcc-c++ yum -y install libevent
-
安装libfatscommon函数库
# 解压 tar -zxvf libfastcommon-1.0.42.tar.gz
- 进入libfastcommon文件夹,编译并且安装
./make.sh ./make.sh install
安装的目录从控制台看一下:
-
安装fastdfs主程序文件
# 解压 tar -zxvf fastdfs-6.04.tar.gz
进入到fastdfs目录,查看fastdfs安装配置
cd fastdfs-6.04/ vim make.sh
TARGET_PREFIX=$DESTDIR/usr TARGET_CONF_PATH=$DESTDIR/etc/fdfs TARGET_INIT_PATH=$DESTDIR/etc/init.d
安装fastdfs
./make.sh ./make.sh install
如上图,
/usr/bin
中包含了可执行文件;/etc/fdfs
包含了配置文件;
-
拷贝配置文件如下:
cp /home/software/FastDFS/fastdfs-6.04/conf/* /etc/fdfs/
说明
tracker和storage都是同一个fastdfs的主程序的两个不同概念,配置不同的配置文件就可以设定为tracker或者storage
配置tracker
/etc/fdfs
下都是一些配置文件,配置tracker即可
vim tracker.conf
-
修改tracker配置文件,此为tracker的工作目录,保存数据以及日志
base_path=/usr/local/fastdfs/tracker
mkdir /usr/local/fastdfs/tracker -p
启动tracker服务
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
检查进程如下:
ps -ef|grep tracker
-
停止tracker
/usr/bin/stop.sh /etc/fdfs/tracker.conf
配置storage服务
修改storage配置文件
- 修改该storage.cond配置文件
# 修改组名
group_name=imooc
# 修改storage的工作空间
base_path=/usr/local/fastdfs/storage
# 修改storage的存储空间
store_path0=/usr/local/fastdfs/storage
# 修改tracker的地址和端口号,用于心跳
tracker_server=192.168.1.153:22122
# 后续结合nginx的一个对外服务端口号
http.server_port=8888
- 创建目录
mkdir /usr/local/fastdfs/storage -p
启动storage
前提:必须首先启动tracker
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
检查进程如下:
ps -ef|grep storage
测试上传
-
修改的client配置文件
base_path=/usr/local/fastdfs/client tracker_server=192.168.1.153:22122
mkdir /usr/local/fastdfs/client
-
测试:
wget https://www.imooc.com/static/img/index/logo.png
./fdfs_test /etc/fdfs/client.conf upload /home/logo.png
上传成功:
配置 nginx fastdfs 实现文件服务器
引子
fastdfs安装好以后是无法通过http访问的,这个时候就需要借助nginx了,所以需要安装fastdfs的第三方模块到nginx中,就能使用了。
注:nginx需要和storage在同一个节点。
安装nginx插件
-
解压nginx的fastdfs压缩包
tar -zxvf fastdfs-nginx-module-1.22.tar.gz
-
复制配置文件如下:
cp mod_fastdfs.conf /etc/fdfs
- 修改/fastdfs-nginx-module/src/config文件,主要是修改路径,把
local
删除,因为fastdfs安装的时候我们没有修改路径,原路径是/usr
:
安装nginx(略)
其中配置如下:
./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/fdfs/fastdfs-nginx-module-1.22/src
主要新增一个第三方模块
修改 mod_fastdfs.conf 配置文件:
base_path=/usr/local/fastdfs/tmp
tracker_server=192.168.1.153:22122
group_name=imooc
url_have_group_name = true
store_path0=/usr/local/fastdfs/storage
mkdir /usr/local/fastdfs/tmp
修改nginx.conf,添加如下虚拟主机:
server {
listen 8888;
server_name localhost;
location /imooc/M00 {
ngx_fastdfs_module;
}
}
启动nginx