0. 前言
参考:https://blog.csdn.net/qq3401247010/article/details/78279330
操作环境:CentOS7 X64
所有软件包下载到同一目录 如/softpackages
1. 域名映射(可选)
vim /etc/hosts
添加如下一行,这是需要映射的ip
192.168.08.17 utry.file.com
2. 安装c++环境
yum install gcc-c++
3. 下载安装libfastcommon
libfastcommon是从FastDFS和FastDHT中提取出来的C函数库,基础环境
3.1 下载
wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz
3.2 解压安装
tar -zxvf V1.0.7.tar.gz
cd libfastcommon-1.0.7
./make.sh
./make.sh install
3.3 libfastcommon.so 安装到了/usr/lib64/libfastcommon.so,但是FastDFS主程序设置的lib目录是/usr/local/lib,所以需要创建软链接。
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
4. 下载安装FastDFS
wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz
tar -zxvf V5.05.tar.gz
cd fastdfs-5.05
./make.sh
./make.sh install
FastDFS 服务脚本设置的 bin 目录是 /usr/local/bin, 但实际命令安装在 /usr/bin/ 下,使用软连接方式
ln -s /usr/bin/fdfs_trackerd /usr/local/bin
ln -s /usr/bin/fdfs_storaged /usr/local/bin
ln -s /usr/bin/stop.sh /usr/local/bin
ln -s /usr/bin/restart.sh /usr/local/bin
5. 配置FastDFS跟踪器(tracker)
cd /etc/fdfs
cp tracker.conf.sample tracker.conf
vim tracker.conf
修改一下内容,其他默认
base_path=/fastdfs/tracker
http.server_port=8080
创建tracker基础数据目录,及base_path对应的目录
mkdir -p /fastdfs/tracker
防火墙中打开跟踪端口(默认22122)
firewall-cmd --zone=public --add-port=22122/tcp --permanent
firewall-cmd --reload
启动tracker
/etc/init.d/fdfs_trackerd start
如果创建了软连接,可以用以下方法启动
service fdfs_trackerd start
查看FastDFS Tracker 是否已经启动成功,22122端口正在被监听,则算是安装Tracker服务成功
netstat -unltp | grep fdfs
image.png
关闭tracker命令
service fdfs_trackerd stop
设置tracker开机启动
chkconfig fdfs_trackerd on
6. 配置FastDFS存储(storage)
进入 /etc/fdfs 目录,复制 FastDFS 存储器样例配置文件 storage.conf.sample,并重命名为 storage.conf
cd /etc/fdfs
cp storage.conf.sample storage.conf
vim storage.conf
修改以下配置,其他默认即可
base_path=/fastdfs/storage
# 如果不配置 store_path0,那它就和 base_path 对应的路径一样
store_path0=/fastdfs/file
tracker_server=192.168.08.17:22122
http.server_port=8080
创建storage基础数据目录,对应base_path, store_path0目录
mkdir -p /fastdfs/storage
mkdir -p /fastdfs/file
防火墙中打开存储器端口(默认23000)
firewall-cmd --zone=public --add-port=23000/tcp --permanent
firewall-cmd --reload
启动 Storage
启动Storage前确保Tracker是启动的。初次启动成功,会在 /fastdfs/storage 目录下创建 data、 logs 两个目录。
/etc/init.d/fdfs_storaged start
如果创建了软连接,可以用以下方法启动
service fdfs_storaged start
查看FastDFS Storage是否已经启动成功,23000端口正在被监听,则算是安装Storage服务成功
netstat -unltp | grep fdfs
查看Storage和Tracker是否正在通信
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
image.png
设置Storage开机启动
chkconfig fdfs_storage on
同 Tracker,Storage 启动成功后,在base_path 下创建了data、logs目录,记录着 Storage Server 的信息
7. 安装Nginx
安装Nginx作为服务器以支持Http方式访问文件。同时,后面安装FastDFS的Nginx模块也需要Nginx环境
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
wget -c https://nginx.org/download/nginx-1.12.1.tar.gz
tar -zxvf nginx-1.12.1.tar.gz
cd nginx-1.12.1
./configure #使用默认配置
make
make install
nginx相关命令
/usr/local/nginx/sbin/./nginx #启动
/usr/local/nginx/sbin/./nginx -s stop #快速停止
/usr/local/nginx/sbin/./nginx -s reload #配置文件修改重装载
/usr/local/nginx/sbin/./nginx -s quit #正常停止
/usr/local/nginx/sbin/./nginx -s -V #查看版本
8. FastDFS配置Nginx模块
FastDFS 通过 Tracker 服务器,将文件放在 Storage 服务器存储, 但是同组存储服务器之间需要进行文件复制, 有同步延迟的问题。
假设 Tracker 服务器将文件上传到了 192.168.51.128,上传成功后文件 ID已经返回给客户端。
此时 FastDFS 存储集群机制会将这个文件同步到同组存储 192.168.51.129,在文件还没有复制完成的情况下,客户端如果用这个文件 ID 在 192.168.51.129 上取文件,就会出现文件无法访问的错误。
而 fastdfs-nginx-module 可以重定向文件链接到源服务器取文件,避免客户端由于复制延迟导致的文件无法访问错误。
wget https://github.com/happyfish100/fastdfs-nginx-module/archive/5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip
解压
unzip 5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip
重命名
mv fastdfs-nginx-module-5e5f3566bbfa57418b5506aaefbe107a42c9fcb1 fastdfs-nginx-module-master
在Nginx中添加模块
/usr/local/nginx/sbin/nginx -s stop #先停掉Nginx服务
cd /softpackage/nginx-1.12.1/ #进入压缩包目录
./configure --add-module=../fastdfs-nginx-module-master/src #添加模块
make && make install #重新编译、安装
/usr/local/nginx/sbin/nginx -V #有下面这个表示添加模块成功
image.png
复制 fastdfs-nginx-module 源码中的配置文件到/etc/fdfs 目录, 并修改
cd /softpackages/fastdfs-nginx-module-master/src
cp mod_fastdfs.conf /etc/fdfs/
修改如下配置,其他默认
connect_timeout=10
tracker_server=192.168.08.17:22122
url_have_group_name = true
store_path0=/fastdfs/file #必须和storage.conf中的一致
复制 FastDFS 的部分配置文件到/etc/fdfs 目录
cd /softpackages/fastdfs-5.05/conf/
cp anti-steal.jpg http.conf mime.types /etc/fdfs/
配置nginx,修改nginx.conf
vim /usr/local/nginx/conf/nginx.conf
image.png
注意:
listen 8080 端口值是要与 /etc/fdfs/storage.conf 中的 http.server_port=8080 (前面改成8080了)相对应。如果改成其它端口,则需要统一,同时在防火墙中打开该端口。
启动Nginx:
/usr/local/nginx/sbin/nginx
在地址栏访问:
能下载文件就算安装成功。注意和第三点中直接使用nginx路由访问不同的是,这里配置 fastdfs-nginx-module 模块,可以重定向文件链接到源服务器取文件。
网友评论