一、前提
1、yum -y install libevent
2、安装 libfastcommonV1.0.7 工具包
- 解压缩
- ./make.sh
- ./make.sh install
- 把/usr/lib64/libfastcommon.so文件向/usr/lib/下复制一份
3、下载fastDFS源码包 https://github.com/happyfish100/fastdfs/releases
二、正式安装
1、解压后进入根目录执行:./make.sh ./make.sh install
2、拷贝出3个后面用的正式的配置文件
cp client.conf.sample client.conf
cp storage.conf.sample storage.conf
cp tracker.conf.sample tracker.conf
3、配置Tracker
1. 创建安装目录 mkdir /opt/fastdfs_tracker
2. 编辑上一步准备好的/etc/fdfs目录下的tracker.conf配置文件,打开文件后依次做以下修改:
disabled=false #启用配置文件(默认启用)
port=22122 #设置tracker的端口号,通常采用22122这个默认端口
base_path=/opt/fastdfs_tracker #设置tracker的数据文件和日志目录
http.server_port=6666 #设置http端口号,默认为8080
3.设置软连接
ln -s /usr/bin/fdfs_trackerd /usr/local/bin
ln -s /usr/bin/stop.sh /usr/local/bin
ln -s /usr/bin/restart.sh /usr/local/bin
4.启动tracker
Service fdfs_trackerd start (显示下图为成功)
4、配置Storage
1.创建安装目录和保存文件目录
Mkdir /opt/fastdfs_storage
Mkdir /opt/fastdfs_storage_data
2.修改 /etc/fdfs/storage.conf
disabled=false #启用配置文件(默认启用)
group_name=group1 #组名,根据实际情况修改
port=23000 #设置storage的端口号,默认是23000,同一个组的storage端口号必须一致
base_path=/opt/fastdfs_storage #设置storage数据文件和日志目录
store_path_count=1 #存储路径个数,需要和store_path个数匹配
store_path0=/opt/fastdfs_storage_data #实际文件存储路径
tracker_server=192.168.86.131:22122 #tracker 服务器的 IP地址和端口号,如果是单机搭建,IP不要写127.0.0.1,否则启动不成功(此处的ip是我的CentOS虚拟机ip)
http.server_port=8888 #设置 http 端口号
3.设置启动脚本软引用
ln -s /usr/bin/fdfs_storaged /usr/local/bin
4.启动Storage服务
Service fdfs_storaged start
5.检查
storage服务器是否已经登记到 tracker服务器(也可以理解为tracker与storage是否整合成功),运行以下命令:
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
当出现 192.168.86.131 ACTIVE说明整合成功
5、测试
测试时需要设置客户端的配置文件,编辑/etc/fdfs目录下的client.conf 文件,打开文件后依次做以下修改:
base_path=/opt/fastdfs_tracker #tracker服务器文件路径
tracker_server=192.168.111.11:22122 #tracker服务器IP地址和端口号
http.tracker_server_port=6666 # tracker 服务器的 http 端口号,必须和tracker的设置对应起来
使用上传文件命令:
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /opt/BLIZZARD.jpg
6、配置nginx和fastDFS整合,使得能够通过url访问上传到服务器的图片
1.下载nginx-fastdfs扩展包 fastdfs-nginx-module-master.zip
2.解压后进入nginx安装根目录重新配置nginx
3. 当添加一个插件模块的时候需要对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=/fastdfs-nginx-module/src
4.编译 Make & make install
5.拷贝配置文件
进入FastDFS的安装目录/usr/local/fastdfs-5.05目录下的conf目录,将http.conf和mime.types拷贝到/etc/fdfs目录下:
cp -r /usr/local/fastdfs-5.05/conf/http.conf /etc/fdfs/
cp -r /usr/local/fastdfs-5.05/conf/mime.types /etc/fdfs/
接下来还需要把fastdfs-nginx-module安装目录中src目录下的mod_fastdfs.conf也拷贝到/etc/fdfs目录下:
cp -r /usr/local/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/
6.编辑mod_fastdfs.conf文件
base_path=/opt/fastdfs_storage #保存日志目录
tracker_server=192.168.111.11:22122 #tracker服务器的IP地址以及端口号
storage_server_port=23000 #storage服务器的端口号
url_have_group_name = true #文件 url 中是否有 group 名
store_path0=/opt/fastdfs_storage_data # 存储路径
7.设置软连接
ln -s /opt/fastdfs_storage_data/data /opt/fastdfs_storage_data/data/M00
8.配置nginx.conf配置文件
在nginx的配置文件中添加一个Server:
server {
listen 80;
server_name 192.168.86.131;
location /group1/M00/{
#root /home/FastDFS/fdfs_storage/data;
ngx_fastdfs_module;
}
}
9. 将libfdfsclient.so拷贝至/usr/lib下
cp /usr/lib64/libfdfsclient.so /usr/lib/
10.启动nginx
11.访问URL
http://192.168.86.131/group1/M00/00/00/wKhWg1lsVpKAYqqXAAMh4TAysmI425.jpg
7、fastdfs启动服务相关
启动: Service fdfs_trackerd start
Service fdfs_storaged start
上传文件: /usr/local/bin/fdfs_upload_file /etc/fdfs/client.conf /opt/bizard.jpg (上传文件必须在前面两个服务开启了后才能上传)
上传成功返回: group1/M00/00/00/文件
eg: group1/M00/00/00/wKhWg1lsUxKALFcKAAMh4TAysmI213.jpg
文件保存位置: /opt/fastdfs_storage_data/data
参考网页: http://www.linuxidc.com/Linux/2016-09/135537.htm