Linux系统:centos7下搭建Nginx和FastDFS文件管理中间件

匿名 (未验证) 提交于 2019-12-02 21:56:30

FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件上传、文件下载等,解决了大容量存储和负载均衡的问题。

1、默认存在Gcc编译环境,Centos7虚拟机 2、安装LibFastCommon环境 3、FastDFS中间件安装 4、Nginx代理服务器安装

核心流程

下载->解压->编译->安装

## 下载 [root@localhost mysoft]# wget https://github.com/happyfish100/libfastcommon/archive/V1.0.38.tar.gz ## 解压 [root@localhost mysoft]# tar -zxvf V1.0.38.tar.gz [root@localhost mysoft]# cd libfastcommon-1.0.38/ ## 编译 [root@localhost libfastcommon-1.0.38]# ./make.sh ## 安装 [root@localhost libfastcommon-1.0.38]# ./make.sh install

流程:下载->解压->编译->安装->创建相关路径->配置跟踪器->
配置数据存储->配置客户端->Nginx环境配置

## 下载 [root@localhost mysoft]# wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz ## 解压 [root@localhost mysoft]# tar -zxvf V5.11.tar.gz  ## 编译 [root@localhost mysoft]# cd fastdfs-5.11/ [root@localhost fastdfs-5.11]# ./make.sh  ## 安装 [root@localhost fastdfs-5.11]# ./make.sh install

用处后续说明。

[root@localhost data]# mkdir -p /data/fastdfs/log [root@localhost data]# mkdir -p /data/fastdfs/data [root@localhost data]# mkdir -p /data/fastdfs/tracker [root@localhost data]# mkdir -p /data/fastdfs/client

Tracker -- >> 跟踪器

1)查看配置文件

注意这里目录的转换,这里给的是样例,具体的配置还要自己动手。

[root@localhost fastdfs-5.11]# cd /etc/fdfs/ [root@localhost fdfs]# ll total 24 client.conf.sample storage.conf.sample storage_ids.conf.sample tracker.conf.sample

2)配置tracker.conf文件

[root@localhost fdfs]# cp tracker.conf.sample tracker.conf [root@localhost fdfs]# vim tracker.conf ## 关注如下几个配置 ## 存储数据和日志文件的基本路径 base_path=/data/fastdfs/tracker ## Http服务端口 http.server_port=80 ## 默认提供服务端口 port=22122

3)启动跟踪器

## 启动 [root@localhost fdfs]# /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start ## 查看状态 [root@localhost fdfs]# netstat -apn|grep fdfs

1)查看配置文件

[root@localhost fastdfs-5.11]# cd /etc/fdfs/ [root@localhost fdfs]# ll storage.conf.sample

2)配置storage.conf文件

[root@localhost fdfs]# cp storage.conf.sample storage.conf [root@localhost fdfs]# vim storage.conf ## 关注如下几个配置 ## storage存储data和log的跟路径 base_path=/data/fastdfs/data ## 默认组名 group_name=group1 ## 默认端口,相同组的storage端口号必须一致 port=23000 ## 配置一个存储路径 store_path_count=1 store_path0=/data/fastdfs/data ## 配置跟踪器IP和端口 tracker_server=192.168.72.130:22122

3)启动存储服务

## 启动 [root@localhost fdfs]# /usr/bin/fdfs_storaged /etc/fdfs/storage.conf start ## 查看进程 [root@localhost fdfs]# netstat -apn|grep fdfs tcp 0:22122  LISTEN      4845/fdfs_trackerd   tcp 0:45422  SYN_SENT    5410/fdfs_storaged ## 查看启动日志 [root@localhost fdfs]# tail -f /data/fastdfs/data/logs/storaged.log ## 日志展示:单台FastDFS安装成功 set tracker leader: 192.168.72.130:22122 ## 查看Storage和Tracker是否在通信 [root@localhost fdfs]# /usr/bin/fdfs_monitor /etc/fdfs/storage.conf Storage 1:     id = 192.168.72.130     ip_addr = 192.168.72.130 (localhost.localdomain)  ACTIVE

1)查看配置文件

[root@localhost /]# cd /etc/fdfs [root@localhost fdfs]# ll total 40 client.conf.sample

2)配置client.conf文件

[root@localhost fdfs]# cp client.conf.sample client.conf [root@localhost fdfs]# vim client.conf ## 关注如下几个配置 ## client数据和日志目录 base_path=/data/fastdfs/client ## 配置跟踪器IP和端口 tracker_server=192.168.72.130:22122

3)客户端测试

调用客户端文件上传命令

/usr/bin/fdfs_upload_file /etc/fdfs/client.conf

返回文件上传的相对路径和编号

group1/M00/00/00/wKhIgl0mmE-ATEXPAAQ2pIoAy98392.jpg

[root@localhost fdfs]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /data/img/img1.jpg  group1/M00/00/00/wKhIgl0mmE-ATEXPAAQ2pIoAy98392.jpg

这样FastDFS单台环境就安装好了,步骤有点繁杂,不过这就是生活。

文件成功上传storage服务器,但是还无法查看下载。需要安装Nginx服务器用来支持Http方式访问文件。

## 下载nginx [root@localhost mysoft]# wget  http://nginx.org/download/nginx-1.15.2.tar.gz ## 解压nginx [root@localhost mysoft]# tar -zxvf nginx-1.15.2.tar.gz
## 下载fastdfs-nginx [root@localhost mysoft]#wget  https://github.com/happyfish100/fastdfs-nginx-module/archive/5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip ## 解压fastdfs-nginx [root@localhost mysoft]# mv 5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip fast-nginx.zip [root@localhost mysoft]# unzip fast-nginx.zip [root@localhost mysoft]# mv fastdfs-nginx-module-5e5f3566bbfa57418b5506aaefbe107a42c9fcb1/  fastdfs-nginx-module
## pcre-devel 环境 [root@localhost nginx-1.15.2]# yum install -y pcre pcre-devel ## zlib-devel 环境 [root@localhost nginx-1.15.2]# yum install -y zlib zlib-devel ## openssl-devel 环境 [root@localhost nginx-1.15.2]# yum install -y openssl openssl-devel
[root@localhost nginx-1.15.2]# ./configure --add-module=/usr/local/mysoft/fastdfs-nginx-module/src [root@localhost nginx-1.15.2]# make && make install

版本问题导致,Fast-Nginx必须使用这个修复版本。

https://github.com/happyfish100/fastdfs-nginx-module/archive/5e5f3566bbfa57418b5506aaefbe107a42c9fcb1.zip

make[1]: *** [objs/addon/src/ngx_http_fastdfs_module.o] Error 1 make[1]: Leaving directory `/usr/local/mysoft/nginx-1.15.2' make: *** [build] Error 2

如下情况则表示安装成功了。

[root@localhost nginx-1.15.2]# /usr/local/nginx/sbin/nginx -V nginx version: nginx/1.15.2 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)  configure arguments: --add-module=/usr/local/mysoft/fastdfs-nginx-module/src
## 移动配置文件 [root@localhost src]# pwd /usr/local/mysoft/fastdfs-nginx-module/src [root@localhost src]# ll total 76 Apr 14  2017 mod_fastdfs.conf [root@localhost src]# cp mod_fastdfs.conf /etc/fdfs/ [root@localhost fdfs]# pwd /etc/fdfs [root@localhost fdfs]# vim mod_fastdfs.conf  ## 调整如下配置 ## 链接超时 connect_timeout=20 ## 配置跟踪器IP和端口 tracker_server=192.168.72.130:22122 ## 路径包含group url_have_group_name = true # 必须和storage配置相同 store_path0=/data/fastdfs/data
[root@localhost fdfs]# cd /usr/local/mysoft/fastdfs-5.11/conf/ [root@localhost conf]# cp anti-steal.jpg http.conf mime.types /etc/fdfs/

在Nginx的80服务端口下添加如下配置。注意这里的路径是Nginx安装自动生成的路径。

[root@localhost nginx]# cd /usr/local/nginx/conf/ [root@localhost conf]# vim nginx.conf server {     listen       80;          location ~/group([0-9])/M00 {         root /data/fastdfs/data;         ngx_fastdfs_module;     } }

查看配置结果

[root@localhost conf]# /usr/local/nginx/sbin/nginx -V nginx version: nginx/1.15.2 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)  configure arguments: --add-module=/usr/local/mysoft/fastdfs-nginx-module/src

这样就配置成功了。

启动Nginx服务。

## 启动 /usr/local/nginx/sbin/nginx ## 停止 /usr/local/nginx/sbin/nginx -s stop ## 重启 /usr/local/nginx/sbin/nginx -s reload

喵喵的,居然成功了,下篇文章见。

http://192.168.72.130 /group1/M00/00/00/wKhIgl0mmE-ATEXPAAQ2pIoAy98392.jpg
GitHub地址:知了一笑 https://github.com/cicadasmile 码云地址:知了一笑 https://gitee.com/cicadasmile


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!