赞
踩
系统: Centos7
环境和依赖
按照后面标注的方式下载或者安装好需要的依赖
yum install -y gcc-c++ #需要依赖gcc
yum install -y pcre #用于支持rewrite模块 pcre-8.32-17
yum install -y pcre pcre-devel
yum install -y libevent #FastDFS依赖libevent库 libevent-2.0.21-4.el7.x86_64
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel #ssl依赖
yum install -y zlib zlib-devel #用于支持gzip模块 zlib-1.2.7-17.el7.x86_64
libfastcommon-master.zip #libfastcommon包含了FastDFS运行所需要的一些基础库。https://github.com/happyfish100/libfastcommon/releases
fastdfs-nginx-module_v1.16.tar.gz
FastDFS版本:fastdfs-5.11.zip #https://github.com/happyfish100/fastdfs/archive/V5.11.zip
官网下载: http://nginx.org/en/download.html
资源下载地址
链接:https://pan.baidu.com/s/1mZpzLe6ucQLM0SUlt_0zxA
提取码:ethk
可以yum 安装的先直接yum 安装
将所有下载好依赖上传至服务器/download目录
unzip libfastcommon-1.0.39.zip
mv libfastcommon-1.0.39 /usr/local/libfastcommon
cd /usr/local/libfastcommon/
./make.sh #编译
./make.sh install #安装
检查确认/usr/lib64 和 /usr/lib 目录下都生成了 libfastcommon.so (有些版本可能/usr/lib下不会生成)
ls /usr/lib64 | grep libfastcommon.so
ls /usr/lib | grep libfastcommon.so
FastDFS由跟踪服务器(tracker server)、存储服务器(storage server)和客户端组成,
fastdfs的tracker 和storage其实用的是同一个服务,只是配置文件不同
Tracker是FastDFS的协调者,负责管理所有的storage server和group
storage server 负责存储服务
cd /download
unzip fastdfs-5.11.zip
mv fastdfs-5.11 /usr/local/FastDFS
cd /usr/local/FastDFS/
./make.sh && ./make.sh install #编译之后接着进行安装
#确认安装成功,没有报错后,拷贝配置文件到/etc/fdfs
cp /usr/local/FastDFS/conf/* /etc/fdfs/
#,进入/etc/fdfs 目录, 如果没有tracker.conf就拷贝一份tracker.conf.sample 去掉sample
cp tracker.conf.sample track.conf
vi track.conf # 修改以下配置
#===============
base_path=/home/fastdfs #基础目录,以后的data 和日志目录都会放在此目录下
http.server_port=80 #配置http服务端口,这个端口跟后面nginx的监听端口对应
创建目录(目录可能不存在)
mkdir /home/fastdfs
启动tracker,运行如下命令:
/usr/bin/fdfs_trackerd /etc/fdfs/track.conf restart
#检查是否启动成功:默认端口22122
ps -ef | grep fdfs
#检查/home/fastdfs下是否生成data / logs 两个目录
ls /home/fastdfs/
fastdfs的tracker 和storage其实用的是同一个服务,只是配置文件不同,我们只需要使用storage的配置文件启动fastdfs即是storage服务
cd /etc/fdfs
#如果没有storage.conf 拷贝一份storage.conf.sample 命名为storage.conf
cp storage.conf.sample storage.conf
vi storage.conf #修改如下配置 #=========================== group_name=group1 #配置组名,同一个组的storage 互为备份 base_path=/home/fastdfs #基础目录 #store存放文件的位置(store_path), 可以配置多个, 记得创建路径 store_path0=/home/fdfs_storage #如果有多个挂载磁盘则定义多个store_path,如下 #store_path1=..... #store_path2=...... #配置tracker服务器:IP,阿里云服务器如果需要外部访问请配置公网ip, 不要使用私有ip tracker_server=192.168.112.130:22122 #如果有多个tracker则配置多个tracker #tracker_server=192.168.112.131:22122 #配置http端口 http.server_port=80 #==========完===========
创建 /home/fdfs_storage 目录
mkdir -p /home/fdfs_storage
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
查看启动是否成功
fdfs_monitor /etc/fdfs/storage.conf #查看fdfs状态
ps -ef | grep fdfs
查看目录是否创建,/home/fdfs_storage/data 应该会自动生成256个文件夹
ls /home/fdfs_storage/data
fastdfs自带了测试客户端,我们可以使用它测试搭建是否成功
cd /etc/fdfs
cp client.conf.sample client.conf
vim client.conf #修改如下配置
#=================
base_path=/home/fastdfs
tracker_server=192.168.112.130:22122
#=======完========
#准备一张图片进行测试
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /download/123.jpg
#一切正常的话会返回图片地址等信息
example file url: http://192.168.112.130/group1/M00/00/00/wKhwgltd_uyAZSPfAAJHNmHqPh0482_big.jpg
检查文件是否存在(文件名被存放在/home/fdfs_storage/data/00/00对应的目录中),如果存在即是保存 OK,此时还无法使用http下载
cd /home/fdfs_storage/data/00/00 #查看是否存在wKhwgltd_uyAZSPfAAJHNmHqPh0482_big.jpg
单独的Fastdfs 对http支持不好,所以作为图片服务器,我们一般都会整合Nginx来支持图片的http访问
cd /download
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
mv fastdfs-nginx-module-master /usr/local/fastdfs-nginx-module
cd /usr/local/fastdfs-nginx-module/src
修改config文件,
如果后面步骤中编译nginx报错把下面两项做以下修改
**ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"**
cp mod_fastdfs.conf /etc/fdfs/
vi /etc/fdfs/mod_fastdfs.conf
#修改以下内容==
base_path=/home/fastdfs #保存日志的路径
tracker_server=192.168.112.130:22122 #track_server配置的服务端口
url_have_group_name=true #url中是否包含group名称
store_path0=/home/fdfs_storage #指定文件存储路径(必须和storage.conf配置相同)
检查/usr/lib 和usr/lib64下是否有 libfdfsclient.so
ls /usr/lib | grep libfdfsclient.so
ls /usr/lib64 | grep libfdfsclient.so
创建nginx/client目录
mkdir -p /var/temp/nginx/client
tar -zxvf nginx-1.14.0.tar.gz -C /usr/local/
编译nginx,加入fastdfs模块, 如果之前装过nginx, 需要重新安装
#进入解压目录, 日志目录可自己定义,主要是add-modoule
cd /usr/local/nginx-1.14.0
/usr/local/nginx/sbin/nginx -V
./configure --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs-nginx-module/src --with-http_stub_status_module --with-http_ssl_module
./configure --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs-nginx-module/src --with-http_stub_status_module --with-http_ssl_module
在nginx1.14.0目录下执行
make && make install
编译后在/usr/local下生成nginx 目录
修改nginx 配置文件
vi /usr/local/nginx/conf/nginx.conf
#======添加配置===========
server {
listen 80;
server_name 192.168.112.130;
location /group1/M00/ {
root /home/fdfs_storage/data;
ngx_fastdfs_module;
}
}
启动nginx
/usr/local/nginx/sbin/nginx
## 检查是否启动成功,不成功就去查看错误日志/var/log/nginx/error.log
ps -ef | grep nginx
关闭防火墙或者添加对应端口
systemctl stop firewalld.service
再次上传一张图片
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /download/123.jpg
得到一个地址 example file url: http://192.168.112.130/group1/M00/00/00/wKhwgltekE6AeekMAAJHNmHqPh0069_big.jpg 在浏览器中访问该图片: http://192.168.112.130/group1/M00/00/00/wKhwgltekE6AeekMAAJHNmHqPh0069_big.jpg 如果能够正常浏览图片那就大功告成, #查看nginx 日志可以看到访问记录 tail -f -n 100 /var/log/nginx/access.log 原文:https://cloud.tencent.com/developer/article/1459349 在原文基础上修改了部分内容 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210223122650647.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hxbTEzOTk=,size_16,color_FFFFFF,t_70)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。