fastdfs架构图
准备安装包 libfastcommon-1.0.43.tar.gz fastdfs-6.06.tar.gz fastdfs-nginx-module-1.22.tar.gz
一 、FastDFS--tracker安装
FastDFS安装环境
FastDFS是C语言开发,建议在linux上运行,本教程使用Centos7.4作为安装环境。
安装gcc 依赖环境
yum install gcc-c++ -y
安装libevent
yum -y install libevent
安装libfastcommon
上传安装包libfastcommon-1.0.43.tar.gz,解压
tar -zxvf libfastcommon-1.0.43.tar.gz
进入到解压后的文件夹中
编译
./make.sh
如果出现编译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 install
注意:libfastcommon安装好后会自动将库文件拷贝至/usr/lib64下,由于FastDFS程序引用usr/lib目录所以需要将/usr/lib64下的库文件拷贝至/usr/lib下。
cp /usr/lib64/libfastcommon.so /usr/lib/
tracker编译安装
上传fastdfs-6.06.tar.gz安装包,解压
tar -zxvf fastdfs-6.06.tar.gz
进入解压目录
安装
./make.sh
./make.sh install
安装成功之后,将安装目录下的conf下的文件拷贝到/etc/fdfs/下
cd conf
cp * /etc/fdfs/
修改配置文件
vim /etc/fdfs/tracker.conf
创建fastdfs文件夹
mkdir /opt/fastdfs
启动tracker
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
重启命令
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
二、FastDFS--storage安装
1、修改配置文件
vim /etc/fdfs/storage.conf
2、创建fdfs_storage文件夹
mkdir /opt/fastdfs/fdfs_storage
3、修改/etc/fdfs/client.conf
vim /etc/fdfs/client.conf
启动Storage
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start
重启命令
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
测试文件上传
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /opt/xxx.txt
对应的文件目录:
三、storage服务安装nginx
上传安装包nginx-1.19.0.tar.gz
解压
tar -zxvf nginx-1.19.0.tar.gz
进入解压目录
cd nginx-1.19.0
安装
./configure
make
nake install
检查安装
/usr/local/nginx/sbin/nginx -v
启动nginx
/usr/local/nginx/sbin/nginx
检查启动状态
ps aux | grep nginx
停止nginx
/usr/local/nginx/sbin/nginx -s stop
四、安装fastdfs-nginx-module
上传安装包 fastdfs-nginx-module-1.22.tar.gz
解压
tar -zxvf fastdfs-nginx-module-1.22.tar.gz
进入nginx安装目录,添加fastdfs-nginx-module模块
cd nginx-1.19.0
./configure --add-module=/opt/cwp/fastdfs/fastdfs-nginx-module-1.22/src/
安装
[root@test-48-a nginx-1.19.0]# make && make install
检查安装
/usr/local/nginx/sbin/nginx -V
复制mod_fastdfs.conf文件
cp /opt/cwp/fastdfs/fastdfs-nginx-module-1.22/src/mod_fastdfs.conf /etc/fdfs/
编辑mod_fastdfs.conf文件
vim /etc/fdfs/mod_fastdfs.conf
# tracker server 的地址,多个写多行
tracker_server=10.99.xx.yy:22122
# storage server的端口
storage_server_port=23000
# storage server的组名
group_name=group1
# url上是否有组名
url_have_group_name = true
# 和 storage.conf配置文件中配置的一样
store_path_count=1
# 和 storage.conf配置文件中配置的一样
store_path0=/opt/fastdfs/fdfs_storage
编辑nginx配置文件
vim /usr/local/nginx/conf/nginx.conf
server {
listen 8888; ## 该端口为storage.conf中的http.server_port相同
server_name localhost;
location ~/group[0-9]/ {
ngx_fastdfs_module;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
启动nginx
/usr/local/nginx/sbin/nginx
测试上传一个文件,使用nginx访问
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /opt/cwp/front.log
访问
curl http://127.0.0.1:8888/group1/M00/00/00/CmMTMGN8fOyANwnwAAAKfRfuBYM335.log
访问成功!