前面已经讲 一张图秒懂微服务的网络架构,通过此文章可以了解FastDFS组件中单机安装流程。
单机版架构图
以下为单机FastDFS安装步骤
一、环境准备
CentOS 7.X
libfastcommon 请采用最新版本, 本次使用最新版本: libfastcommon-1.0.42.tar.gz
FastDFS 请采用最新版本, 本次使用最新版本: fastdfs-6.04.tar.gz
fastdfs-nginx-module 请采用最新版本, 本次使用最新版本:fastdfs-nginx-module-1.22.tar.gz
nginx 请采用最新版本, 本次使用最新版本: nginx-1.16.1.tar.gz
二、安装过程
1、安装 libfastcommon-1.0.42.tar.gz
tar -zxvf libfastcommon-1.0.42.tar.gz cd libfastcommon-1.0.42/ ./make.sh ./make.sh install
2、安装 FastDFS
tar -zxvf fastdfs-6.04.tar.gz cd fastdfs-6.04/ ./make.sh ./make.sh install
准备配置文件
cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf cd /opt/apps/fastdfs-6.04/conf cp http.conf mime.types /etc/fdfs/
Tracker Server 配置
vim /etc/fdfs/tracker.conf
修改配置如下:
#tracker server端口号 port=22122 #存储日志和数据的根目录 base_path=/opt/fastdfs/tracker #HTTP服务端口 http.server_port=80
开放防火墙端口
1、打开跟踪端口
vim /etc/sysconfig/iptables
2、添加以下端口行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22122 -j ACCEPT
3、重启防火墙
service iptables restart
启动Tracker
/etc/init.d/fdfs_trackerd start
Storage Server 配置
vim /etc/fdfs/storage.conf
修改配置如下:
#storage server端口号 port=23000 #数据和日志文件存储根目录 base_path=/opt/fastdfs/storage #第一个存储目录 store_path0=/opt/fastdfs/storepath0 #tracker服务器IP和端口 tracker_server=192.168.0.1:22122 #http访问文件的端口(默认8888,看情况修改,和nginx中保持一致) http.server_port=8888
开放防火墙端口
1、打开跟踪端口
vim /etc/sysconfig/iptables
2、添加以下端口行:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 23000 -j ACCEPT
3、重启防火墙
service iptables restart
启动Storage
/etc/init.d/fdfs_storaged start
查看集群状态
fdfs_monitor /etc/fdfs/storage.conf list
查看状态是否正常
Storage 1:
id = 6.0.36.243
ip_addr = 6.0.36.243 (anantes-651-1-49-net.w2-0.abo.wanadoo.fr) ACTIVE
Client配置
vim /etc/fdfs/client.conf
修改配置如下:
# base_path=/opt/apps/fastdfs/client #tracker服务器IP和端口 tracker_server=192.168.0.1:22122
上传一个图片测试是否能上传成功
fdfs_upload_file /etc/fdfs/client.conf test.jpg
test.jpg 是测试本地上传的图片,路径请填写正确
3、安装Nginx和 fastdfs-nginx-module
#解压fastdfs-nginx-module tar -zxvf fastdfs-nginx-module-1.22.tar.gz cd fastdfs-nginx-module-1.22/ cp ./src/mod_fastdfs.conf /etc/fdfs #解压nginx tar -zxvf nginx-1.16.1.tar.gz cd nginx-1.16.1/ #安装nginx_http_image_filter_module yum -y install gd-devel yum -y install zlib zlib-devel openssl openssl--devel pcre pcre-devel #添加模块 ./configure --add-module=../fastdfs-nginx-module-1.22/src --prefix=/usr/local/nginx --with-http_image_filter_module #编译nginx make #安装nginx make install
查看是否安装成功
/usr/local/nginx/sbin/nginx -V
查看插件是否安装成功
[root@FastDFS nginx-1.16.1]# /usr/local/nginx/sbin/nginx -V nginx version: nginx/1.16.1 built by gcc 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) configure arguments: --add-module=../fastdfs-nginx-module-1.21/src --prefix=/usr/local/nginx --with-http_image_filter_module [root@FastDFS nginx-1.16.1]#
修改Nginx访问
vim /etc/fdfs/mod_fastdfs.conf
修改配置如下:
# connect_timeout=10 #tracker服务器IP和端口 tracker_server=192.168.0.1:22122 #是否启用group组名 url_have_group_name=true # store_path0=/opt/fastdfs/storepath0
修改Nginx配置:
vim /usr/local/nginx/conf/nginx.conf
修改配置如下:
server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm; } #图片带压缩访问 location ~ /group1/M00/(.*)\.(jpg|gif|png)!format=([0-9]+)_([0-9]+) { alias /home/fastdfs/storage/data/; ngx_fastdfs_module; set $w $3; set $h $4; rewrite group1/M00(.+)\.(jpg|gif|png)!format=([0-9]+)_([0-9]+)$ group1/M00$1.$2 break; image_filter resize $w $h; image_filter_buffer 5M; } #主图访问 location ~ /group([0-9])/M00/(.+)\.?(.+) { alias /home/fastdfs/storage/data/; ngx_fastdfs_module; } ... }
启动Nginx
#启动 /usr/local/nginx/sbin/nginx #停止 /usr/local/nginx/sbin/nginx -s stop #重启 /usr/local/nginx/sbin/nginx -s reload
通过以上配置完成FastDFS的搭建。
测试图片访问
图片访问示例:
主图访问
http://192.168.0.1/group1/M00/00/03/BgAk813IvTCAIxxxAAD44NFKFPc908.png
压缩图片 (主图后加
!format=宽度_高度
)访问http://192.168.0.1/group1/M00/00/03/BgAk813IvTCAIxxxAAD44NFKFPc908.png!format=400_10
未解决的问题
压缩图片使用主图后?format=宽度_高度