当前位置: 首页 > 工具软件 > ngx-fastdfs > 使用案例 >

nginx- FastDFS-nginx-module-FastDFS安装

惠洛华
2023-12-01

FastDFS安装环境

首先安装gcc依赖

yum install gcc-c++

FastDFS依赖libevent库

yum -y install libevent

上传libfastcommonV1.0.7到虚拟机上一般上传到/usr/local下,安装libfastcommon

tar -zxvf libfastcommonV1.0.7.tar.gz

上方可合并为一句

yum install -y gcc pcre pcre-devel openssl openssl-devel gd gd-devel

进入解压后的目录

./make.sh
./make.sh install

注意:libfastcommon安装好后会自动将库文件拷贝至/usr/lib64下,由于FastDFS程
序引用usr/lib目录所以需要将/usr/lib64下的库文件拷贝至/usr/lib下。
要拷贝的文件如下:
libfastcommon.so

将FastDFS_v5.05.tar.gz拷贝至/usr/local/下

tar -zxvf FastDFS_v5.05.tar.gz 

进入解压后的目录

./make.sh #编译
./make.sh install 安装

安装成功后进入/etc/fdfs目录

cp tracker.conf.sample tracker.conf 

将3份sample文件去掉sample后缀如上方命令

修改tracker.conf ,没有目录的用mkdir创建对应目录,这里的目录名称需要和后面保持一致

vi tracker.conf
base_path=/home/fastdfs
http.server_port=80

启动tracker

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start

FastDFS–storage安装
修改storage.conf

group_name=group1
base_path=/home/fastdfs
store_path0=/home/fastdfs/fdfs_storage
#如果有多个挂载磁盘则定义多个store_path,如下 
#store_path1=..... 
#store_path2=...... 
tracker_server=192.168.101.3:22122   #配置 tracker服务器:IP 
#如果有多个则配置多个tracker 
tracker_server=192.168.101.4:22122 
#配置http端口 
http.server_port=80

启动storage

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf start

测试是否能用
修改/etc/fdfs/client.conf

base_path=/home/fastdfs 
tracker_server=192.168.101.3:22122 
#tracker_server=192.168.101.4:22122有多个tracker则这样配置

使用格式
/usr/bin/fdfs_test 客户端配置文件地址 upload 上传文件

在Storage上安装nginx
在storage server上安装nginx的目的是对外通过http访问storage server 上的文
件。使用 nginx 的模块 FastDFS-nginx-module 的作用是通过 http 方式访问 storage 中
的文件,当storage本机没有要找的文件时向源storage主机代理请求文件。

FastDFS-nginx-module

将 FastDFS-nginx-module_v1.16.tar.gz 传至 fastDFS 的 storage 服务器的
/usr/local/下,执行如下命令:

cd /usr/local 
tar -zxvf FastDFS-nginx-module_v1.16.tar.gz 
cd FastDFS-nginx-module/src 

修改config文件将/usr/local/路径改为/usr/

将FastDFS-nginx-module/src下的mod_FastDFS.conf拷贝至/etc/fdfs/下

cp mod_FastDFS.conf /etc/fdfs/ 

并修改mod_FastDFS.conf的内容:

vi /etc/fdfs/mod_FastDFS.conf 
base_path=/home/FastDFS 
tracker_server=192.168.101.3:22122 
tracker_server=192.168.101.4:22122 
url_have_group_name=true  #url中包含group名称 
store_path0=/home/fastdfs/fdfs_storage   #指定文件存储路径 
#如果有多个 
#将libfdfsclient.so拷贝至/usr/lib下 
cp /usr/lib64/libfdfsclient.so /usr/lib/ 

创建nginx/client目录

mkdir -p /var/temp/nginx/client 

nginx安装

将nginx-1.8.0.tar.gz拷贝到/usr/local下
解压nginx-1.8.0.tar.gz
进入nginx-1.8.0目录,执行如下配置命令:
最下边部分表示添加 FastDFS-nginx-module模块

./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=/usr/local/FastDFS-nginx-module/src 
make && make install

nginx配置文件

新建一个nginx配置文件nginx-fdfs.conf.

添加虚拟主机:

	server { 
        listen       80; 
        server_name  192.168.101.65; 
        location /group1/M00/{ 
                root /home/FastDFS/fdfs_storage/data; 
                ngx_FastDFS_module; 
        } 
     }

说明:
server_name指定本机ip
location /group1/M00/:group1为nginx 服务FastDFS的分组名称,M00是FastDFS
自动生成编号,对应 store_path0=/home/FastDFS/fdfs_storage,如果 FastDFS 定义
store_path1,这里就是M01

测试

通过java客户端上传文件,使用浏览器http访问文件,这里访问上传图片测试的文件:

访问storage:
http://192.168.101.5/group1/M00/00/00/wKhlBVVY2M-AM_9DAAAT7-0xdqM485_big.png
ip地址改为192.168.101.6也可以访问到文件,因为同一个分组的storage文件互相同步。

访问tracker:
http://192.168.101.3/group1/M00/00/00/wKhlBVVY2M-AM_9DAAAT7-0xdqM485_big.png
ip地址改为192.168.101.4 也可以访问到文件。

使用域名访问 (推荐):
nginx对外由vip提供服务,使用域名访问如下:
比如vip对应的域名为img.test.com:
http://img.test.com/group1/M00/00/00/wKhlBVVY2M-AM_9DAAAT7-0xdqM485_big.png

 类似资料: