fastDFS安装

一、libfastcommon-master安装

unzip libfastcommon-master.zip
cd libfastcommon-master
./make.sh
./make.sh install

创建软连接
FastDFS主程序设置的目录为/usr/local/lib/,所以我们需要创建/ usr/lib64/下的一些核心执行程序的软连接文件。如下所示。

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

 

二安装FastDFS

tar -zxvf FastDFS_v5.08.tar.gz
cd FastDFS
./make.sh
./make.sh install

安装完成后,服务脚本位置如下:
[root@bpsnginx1 init.d]# ls /etc/init.d/ | grep fdfs
fdfs_storaged
fdfs_trackerd
配置文件位置如下(划线部分为后续添加):
[root@bpsnginx1 fdfs]# ll /etc/fdfs/
-rw-r--r-- 1 root root 1461 Oct 17 17:09 client.conf.sample
-rw-r--r-- 1 root root 7927 Oct 17 17:09 storage.conf.sample
-rw-r--r-- 1 root root 7200 Oct 17 17:09 tracker.conf.sample
FastDFS一系列执行脚本如下,可以看到有上传文件脚本、下载文件脚本等等。
[root@bpsnginx1 fdfs]# ll /usr/bin/  | grep fdfs
-rwxr-xr-x    1 root root     319784 Oct 17 17:09 fdfs_appender_test
-rwxr-xr-x    1 root root     319560 Oct 17 17:09 fdfs_appender_test1
-rwxr-xr-x    1 root root     306416 Oct 17 17:09 fdfs_append_file
-rwxr-xr-x    1 root root     306080 Oct 17 17:09 fdfs_crc32
-rwxr-xr-x    1 root root     306480 Oct 17 17:09 fdfs_delete_file
-rwxr-xr-x    1 root root     307216 Oct 17 17:09 fdfs_download_file
-rwxr-xr-x    1 root root     306800 Oct 17 17:09 fdfs_file_info
-rwxr-xr-x    1 root root     320624 Oct 17 17:09 fdfs_monitor
-rwxr-xr-x    1 root root    1112368 Oct 17 17:09 fdfs_storaged
-rwxr-xr-x    1 root root     329728 Oct 17 17:09 fdfs_test
-rwxr-xr-x    1 root root     324848 Oct 17 17:09 fdfs_test1
-rwxr-xr-x    1 root root     451552 Oct 17 17:09 fdfs_trackerd
-rwxr-xr-x    1 root root     307408 Oct 17 17:09 fdfs_upload_appender
-rwxr-xr-x    1 root root     308424 Oct 17 17:09 fdfs_upload_file


注:FastDFS_v5.05之前版本需要做如下操作,FastDFS_v5.08版本已经修改了该问题,不需要进行如下操作。
因为FastDFS服务脚本设置的bin目录为/usr/local/bin/下,但是实际我们安装在了/u
sr/bin/下面。所以我们需要修改FastDFS配置文件中的路径,也就是需要修改俩
个配置文件:
命令:vim /etc/init.d/fdfs_storaged
进行全局替换命令:%s+/usr/local/bin+/usr/bin
命令:vim /etc/init.d/fdfs_trackerd
进行全局替换命令:%s+/usr/local/bin+/usr/bin

[root@bpsnginx1 fdfs]# cd /etc/fdfs/
[root@bpsnginx1 fdfs]# ll
total 20
-rw-r--r-- 1 root root 1461 Oct 17 17:09 client.conf.sample
-rw-r--r-- 1 root root 7927 Oct 17 17:09 storage.conf.sample
-rw-r--r-- 1 root root 7200 Oct 17 17:09 tracker.conf.sample
[root@bpsnginx1 fdfs]# cp client.conf.sample client.conf
[root@bpsnginx1 fdfs]# cp storage.conf.sample storage.conf
[root@bpsnginx1 fdfs]# cp tracker.conf.sample tracker.conf
[root@bpsnginx1 fdfs]# vi tracker.conf
修改base_path的值
原base_path=/home/yuqing/fastdfs修改为当前机器的真实目录,例如:base_path=/nginx/fastdfs/tracker
创建该目录 mkdir -p /nginx/fastdfs/tracker

关闭防火墙或者开放端口22122 

程序启动和停止命令:
启动tracker命令:/etc/init.d/fdfs_trackerd start
停止tracker命令:/etc/init.d/fdfs_trackerd stop
启动完成会在/nginx/fastdfs/tracker目录生成2个文件夹data和logs

设置开启启动:
命令:vim /etc/rc.d/rc.local
加入配置:/etc/init.d/fdfs_trackerd start

配置FastDFS存储
[root@bpsnginx1 fdfs]# cd /etc/fdfs/
[root@bpsnginx1 fdfs]# cp storage.conf.sample storage.conf
[root@bpsnginx1 fdfs]# vi storage.conf

修改内容:
base_path=/nginx/fastdfs/storage
store_path0=/nginx/fastdfs/storage
tracker_server=192.168.1.172:22122
http.server_port=8888
创建mkdir -p /nginx/fastdfs/storage

关闭防火墙或者开放端口23000

程序启动和停止命令:
启动tracker命令:/etc/init.d/fdfs_storaged start
停止tracker命令:/etc/init.d/fdfs_storaged stop
启动完成会在/nginx/fastdfs/tracker目录生成2个文件夹data和logs

设置开启启动:
命令:vim /etc/rc.d/rc.local
加入配置:/etc/init.d/fdfs_storaged start

查看进程情况ps -ef | grep fdfs
root     63416     1  0 Oct17 ?        00:00:09 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
root     65450     1  0 Oct17 ?        00:00:10 /usr/bin/fdfs_storaged /etc/fdfs/storage.conf

测试图片上传:
[root@bpsnginx1 fdfs]# cd /etc/fdfs/
[root@bpsnginx1 fdfs]# cp client.conf.sample client.conf
[root@bpsnginx1 fdfs]# vi client.conf
修改内容
base_path=/nginx/fastdfs/tracker
tracker_server=192.168.1.172:22122

测试文件上传
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/test.png
group1/M00/00/00/hrBhSF2pHKeANkCwAABWL5OzALI773.png

 

三 fastdfs 与nginx整合

1、在存储节点上安装fastdfs-nginxmodule_v1.16.tar.gz包进行整合。
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz -C /usr/local/fast/   
cd /usr/local/fast/fastdfs-nginx-module/src/
vi config
我们把文件的第四行配置中的/usr/local/include都改为/usr/include,共两处。
更改前:CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/"
更改后:CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"

2、安装nginx(详细的安装手册请参考之前的博客)
简单描述一下
先正常编译安装pcre和zlib,安装rpm依赖包:
keyutils-libs-devel-1.5.8-3.el7.x86_64.rpm
krb5-devel-1.15.1-8.el7.x86_64.rpm
libcom_err-devel-1.42.9-10.el7.x86_64.rpm
libkadm5-1.15.1-8.el7.x86_64.rpm
libselinux-devel-2.5-11.el7.x86_64.rpm
libsepol-devel-2.5-6.el7.x86_64.rpm
libverto-devel-0.2.5-4.el7.x86_64.rpm
openssl-devel-1.0.2k-8.el7.x86_64.rpm
pcre-devel-8.32-17.el7.x86_64.rpm
pkgconfig-0.27.1-4.el7.x86_64.rpm
zlib-devel-1.2.7-17.el7.x86_64.rpm


编译安装nginx的时候需要增加 --add-module=/usr/local/fast/fastdfs-nginx-module/src/

./configure --prefix=/nginx/nginx-1.17.4 --with-http_stub_status_module --with-http_ssl_module --with-pcre=/nginx/softs/pcre-8.42 --with-zlib=/nginx/softs/zlib-1.2.11 --with-stream --add-module=/usr/local/fast/fastdfs-nginx-module/src/
make
make install

复制fastdfs-ngin-module中的配置文件,到/etc/fdfs目录中,
cd /usr/local/fast/fastdfs-nginx-module/src/
cp mod_fastdfs.conf /etc/fdfs/
修改配置文件mod_fastdfs.conf。
cd /etc/fdfs/
vi mod_fastdfs.conf
修改内容:比如连接超时时间、跟踪器路径配置、允许外界通过http访问url的group配置、路径
connect_timeout=10
tracker_server=192.168.1.172:22122
url_have_group_name = true
store_path0=/nginx/fastdfs/storage

复制FastDFS里的2个文件,到/etc/fdfs目录中,
cd /nginx/softs/fastDFS/FastDFS/conf
cp http.conf mime.types /etc/fdfs/

在/nginx/fastdfs/storage 文件存储目录下创建软连接,(根据实际情况,将其链接到存放数据的目录,可创可不创) 
ln -s /nginx/fastdfs/storage/data/ /fastdfs/storage/data/M00

修改增加nginx配置:
  server {
        listen 8888;
        server_name localhost;
        location ~/group([0-9])/M00 {
            ngx_fastdfs_module;
        }

注:1、8888 端口值是要与/etc/fdfs/storage.conf 中的 http.server_port=8888 相对应, 因为 http.server_port 默认为 8888,如果想改成 8001,则要对应修改过来。
2、Storage 对应有多个 group 的情况下,访问路径带 group 名,如/group1/M00/00/00/xxx, 对应的 Nginx 配置为:
     location ~/group([0-9])/M00 {
         ngx_fastdfs_module;
}
3、如查下载时如发现老报 404,将 nginx.conf 第一行 user nobody 修改为 user root 后重新启动。

防火墙对应的端口开放

测试通过浏览器访问测试时上传的文件
http://ip:port/group1/M00/00/00/hrBhSF2pHKeANkCwAABWL5OzALI773.png

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值