泰山神 发表于 2019-2-1 06:56:05

单节点Nginx+FastDFS安装配置<1>

FastDFS 是一个开源的高性能分布式文件系统(DFS)。 它的主要功能包括:文件存储,文件同步和文件访问,以及高容量和负载平衡。
FastDFS有两个角色:跟踪服务(tracker)和存储服务(storage),跟踪服务控制,调度文件以负载均衡的方式访问;存储服务包括:文件存储,文件同步,提供文件访问接口,同时以key value的方式管理文件的元数据。
FastDFS 系统有三个角色:跟踪服务器(Tracker Server)、存储服务器(Storage Server)和
客户端(Client)。
Tracker Server: 跟踪服务器,主要做调度工作,起到均衡的作用;负责管理所有的 storage server
和 group,每个 storage 在启动后会连接 Tracker,告知自己所属 group 等信息,并保持周期性心跳。
Storage Server:存储服务器,主要提供容量和备份服务;以 group 为单位,每个 group 内可以有多台 storage server,数据互为备份。
Client:客户端,上传下载数据的服务器,也就是我们自己的项目所部署在的服务器。

应用场景:对4k至百MB需要存储FastDFS最佳如果上G上几十G建议使用GlusterFS镜像文件


操作系统: CentOS 6.6
FastDFS: fastdfs-5.05 、 fastdfs-nginx-module-v1.16 、libfastcommon-v1.0.7
Nginx: nginx-1.10.1

安装:

[*]  安装libfastcommon
[*]  在每一台服务器上,解压libfastcommon,进入libfastcommon-master目录执行
  ./make.sh
./make.sh install   
# pwd
/opt/soft/soft/libfastcommon-master/src
# install -m 755   libfastcommon.so /usr/lib64/
mkdir -p /usr/include/fastcommon/
可以看到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
   
2.安装FastDFS主程序
这个版本似乎已经不需要libevent依赖
在每台服务器,解压缩FastDFS_v5.05.tar.gz,进入FastDFS目录
执行
./make.sh
./make.sh install
配置文件:
进入FastDFS解压目录
# cd conf/
# ls
anti-steal.jpgclient.confhttp.confmime.types storage.confstorage_ids.conftracker.conf
# pwd
/root/fastdfs/FastDFS/conf
# cp -rf * /etc/fdfs/
1、修改vim /etc/fdfs/tracker.conf

base_path=/data/app/fastdfs
http.server_port=80
创建所需目录 mkdir -p /data/app/fastdfs
启动tracker服务:/usr/local/bin/fdfs_trackerd/etc/fdfs/tracker.conf restart

2、修改vim /etc/fdfs/storage.conf
base_path=/data/app/fastdfs/storage
store_path0=/data/app/fastdfs/storage
tracker_server=192.168.198.129:22122
创建目录:mkdir -p/data/app/fastdfs/storage
启动storage服务:/usr/local/bin/fdfs_trackerd/etc/fdfs/storage.conf restart



3、修改vim /etc/fdfs/client.conf
base_path=/data/app/fastdfs/storage
tracker_server=192.168.198.129:22122
创建目录:mkdir -p/data/app/fastdfs/storage


检验:/usr/bin/fdfs_monitor /etc/fdfs/storage.conf


加载fastdfs-nginx-module 模块
1、上传软件 master.zip、nginx1.10.1
两个软件都解压,然后编译加载模块。
# pwd
/root/fastdfs/nginx-1.10.1
# ./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=/root/fastdfs/fastdfs-nginx-module-master/src
复制文件到/etc
# pwd
/root/fastdfs/fastdfs-nginx-module-master/src
# cp mod_fastdfs.conf/etc/fdfs/

修改这几个地方
vim mod_fastdfs.conf
tracker_server=192.168.198.129:22122
url_have_group_name = true
store_path0=/data/app/fastdfs/storage


nginx修改:
配置 Nginx及编辑nginx.conf文件:
cd /usr/local/nginx/conf
vi nginx.conf

在配置文件中加入:
location /group1/M00 {
    root /data/fastdfs/storage/;
    ngx_fastdfs_module;
}


我们配置了group1/M00的访问,所以我们需要建立一个group1文件夹,并建立M00到data的软链接 mkdir /data/fastdfs/storage/data/group1
ln -s /data/fastdfs/storage/data/data/fastdfs/storage/data/group1/M00

检验:/usr/local/nginx/sbin/nginx -V 看是否有加载模块dfs模块



生成测试链接:/usr/bin/fdfs_test /etc/fdfs/client.conf upload anti-steal.jpg


打开测试网页:
http://192.168.198.129/group1/M00/00/00/CsEBPVgWV1GAZ9ncAABdrZgsqUU641_big.jpg



note:

集群方案思路:

  应用场景: 三台服务器分别做三组存储,并且需要两台tracker地址做主备关系,当一台down机后需要另外一台可以提供正常的访问连接
  #注:此处不考虑存储数据安全性,如果需要保障数据不丢失,可以分别每台存储配置两组group(相同group之间数据会自动备份) ,三台服务器group分别为:
  第一台服务器:group1group2
  第二台服务器:group1 group3
  第三台服务器:group2 group3
持续更新中……














页: [1]
查看完整版本: 单节点Nginx+FastDFS安装配置<1>