tracker 安装
1、要安装 gcc
yum install gcc-c++
2、安装 libevent
yum -y install libevent
3、安装 libevent
yum -y install libevent
4、安装 libfastcommon
libfastcommon 是 FastDFS 官方提供的,libfastcommon 包含了 FastDFS 运行所需要的一些基础库。将 libfastcommonV1.0.7.tar.gz 拷贝至/usr/local/下
cd /usr/local
tar -zxvf libfastcommonV1.0.7.tar.gz
cd libfastcommon-1.0.7
./make.sh
./make.sh install
cd /usr/lib64
cp libfastcommon.so /usr/lib/
tracker 编译安装
将 FastDFS_v5.05.tar.gz 拷贝至/usr/local/下
tar -zxvf FastDFS_v5.05.tar.gz
cd FastDFS
./make.sh
./make.sh install
将上面框选的文件拷贝到/etc/fdfs/下
配置
/etc/fdfs
vi tracker.conf
base_path=/home/yuqing/FastDFS 改为:base_path=/home/FastDFS
http.server_port=80
启动
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
storage 安装
安装 libevent
同 tracker 安装
安装 libfastcommon
同 tracker 安装
storage 编译安装
同 tracker 编译安装。
配置
/etc/fdfs
vi storage.conf
group_name=group1
base_path=/home/yuqing/FastDFS 改为:base_path=/home/fastdfs
store_path0=/home/yuqing/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
启动
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
FastDFS 和 nginx 整合
tracker 上 安装 nginx
配置文件
nginx-fdfs.conf
单独安装 nginx 代理服务,它的作用是代理访问 storage 上的文件,实现负载均衡。nginx 的安装细节参考 nginx 文档,这里使用单机 nginx,也可以使用两台 nginx 组成高可用或者采用 lvs+nginx 访问 Storage 上的 nginx。
#storage 群 group1 组
upstream storage_server_group1{
server 192.168.101.5:80 weight=10;
server 192.168.101.6:80 weight=10;
}
#storage 群 group2 组
upstream storage_server_group2{
server 192.168.101.7:80 weight=10;
server 192.168.101.8:80 weight=10;
}
server {
listen 80;
server_name ccc.test.com;
location /group1{
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://storage_server_group1;
}
location /group2{
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://storage_server_group2;
}
}
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/
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-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