一、安装前的准备工作
下载fastdfs相关的文件:https://github.com/happyfish100
准备安装环境
# 因为fastdfs是用C语言开发的,所以需要安装c语言环境
yum install -y gcc gcc-c++
# 安装libevent
yum -y install libevent
#解压libfastcommon压缩文件,然后进入解压后的文件夹,运行make.sh
tar -zxvf libfastcommon.... #...省略版本
cd libfastcommon... #...省略版本
./make.sh
./make.sh install
#解压fastDFS本体文件 进入解压后的文件夹,运行make.sh命令 解压 安装
tar -zxvf fastdfs-版本号
cd fastdfs-版本号
./make.sh
./make.sh install
# 若在安装fastdfs时,出现此错误./make.sh:行124: perl: 未找到命令,则运行以下命令
yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget
# 修改完错误后,需要先清理以下,然后再次编译,安装
./make.sh clean
./make.sh
./make.sh install
#最后进入fastdfs本地文件夹下的conf文件,将此文件夹下的所有配置文件拷贝到/etc/fdfs文件夹下
cp * /etc/fdfs
二、安装tracker
进入/etc/fdfs文件夹下,上一步已将fdfs的配置文件全部拷贝到此,目录下,修改tracker.conf文件
cd /etc/fdfs
vi tracker.conf
修改tracker.conf文件内容
# 此路径是tracker的工作目录,保存数据及日志
base_path=/usr/local/fastdfs/tracker
#此文件夹不会自动创建,需要手动创建
mkdir /usr/local/fastdfs/tracker -p
配置完成后,启动tracker
# 指明启动命令和tracker的配置文件
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
# 检查是否启动
ps -ef|grep tracker
# 停止tracker
/usr/bin/stop.sh /etc/fdfs/tracker.conf
三、配置storage文件
在etc/fdfs文件夹下,修改storage.cong文件以下内容
# storage所属组名
group_name=hui
# storage工作空间
base_path=/usr/local/fastdfs/storage
# storage存储空间
store_path0=/usr/local/fastdfs/storage
# tracker的地址和端口号
tracker_server=192.168.240.55:22122
# 结合nginx的对外服务号
http.server_port=8888
启动storage
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
# 查看启动情况
ps -ef|grep storage
四、测试fastdfs文件
修改client.conf
# client工作空间
base_path=/usr/local/fastdfs/client
#tracker 地址和端口
tracker_server=192.168.240.55:22122
测试上传
# 如果是虚拟机的话,需要关闭防火墙
# centos7关闭防火墙 systemctl stop firewalld.service #停止firewall
# systemctl disable firewalld.service #禁止firewall开机启动
/usr/bin/fdfs_test /etc/fdfs/client.conf upload test.jpeg
五、配置NginxFastDFS实现文件服务器
# 解压文件fastdfs-nginx-module-1.22.tar.gz
tar -zxvf fastdfs-nginx-module-1.22.tar.gz
# 进入解压后的文件夹下的src,复制文件到
cp mod_fastdfs.conf /etc/fdfs
# 进入解压后的文件夹下的src,修改config文件
安装nginx:https://blog.csdn.net/HueyLong/article/details/119715599
在编译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=/opt/FastDFS/fastdfs-nginx-module-1.22/src
进入/etc/fdfs,修改mod_fastdfs.conf
# 工作路径
base_path=/usr/local/fastdfs/tmp
# tracker的ip和端口
tracker_server=192.168.240.55:22122
# 组名称和storage配置一致
group_name=hui
# url是否携带组名称
url_have_group_name = true
# storage存储路径 和storage配置一致
store_path0=/usr/local/fastdfs/storage
修改nginx的配置文件
server {
# 监听端口要与storage中的http.server_port=8888一致
listen 8888;
server_name localhost;
# 映射规则,组名/加虚拟路径
location /hui/M00/ {
ngx_fastdfs_module;
}
}
# 测试,查找storage存储的文件名,用游览器访问,如:
http://192.168.240.56:8888/hui/M00/00/00/wKjwOGEiIZiAKWz1ABd2uGvPe1o52.jpeg