前面已经讲 一张图秒懂微服务的网络架构 https://mp.weixin.qq.com/s/dBuUhBdKb_fRSbGC_4W1FQ , 通过此文章可以了解 FastDFS 组件中单机安装流程.
单机版架构图
以下为单机 FastDFS 安装步骤
一, 环境准备
CentOS 7.X
https://github.com/happyfish100/libfastcommon 使用的版本: libfastcommon-1.0.41.tar.gz
FastDFS https://github.com/happyfish100/fastdfs 使用的版本: fastdfs-6.01.tar.gz
使用的版本: fastdfs-nginx-module-1.21.tar.gz
https://nginx.org/en/download.html 使用的版本: nginx-1.16.1.tar.gz
二, 安装过程
1, 安装 libfastcommon-1.0.41.tar.gz
- tar -zxvf libfastcommon-1.0.41.tar.gz
- cd libfastcommon-1.0.41/
- ./make.sh
- ./make.sh install
2, 安装 FastDFS
- tar -zxvf fastdfs-6.01.tar.gz
- cd fastdfs-6.01/
- ./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
Tracker Server 配置
VIM /etc/fdfs/tracker.conf
修改配置如下:
- #tracker server 端口号
- port=22122
- # 存储日志和数据的根目录
- base_path=/opt/apps/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/apps/fastdfs/storage
- # 第一个存储目录
- store_path0=/opt/apps/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.21.tar.gz
- cd fastdfs-nginx-module-1.21/
- 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
- # 添加模块
- ./configure --add-module=../fastdfs-nginx-module-1.21/src --prefix=/usr/local/nginx --with-http_image_filter_module
- # 编译 nginx
- make
- # 安装 nginx
- make install
查看是否安装成功
/usr/local/nginx/sbin/nginx -V
查看插件是否安装成功
- [[email protected] 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
- [[email protected] nginx-1.16.1]#
修改 Nginx 访问
VIM /etc/fdfs/mod_fastdfs.conf
修改配置如下:
- #tracker 服务器 IP 和端口
- tracker_server=192.168.0.1:22122
- # 是否启用 group 组名
- url_have_group_name=true
- #
- base_path=/opt/apps/fastdfs/tracker
- #
- store_path0=/opt/apps/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;
- }
- ...
- }
通过以上配置完成 FastDFS 的搭建.
测试图片访问
图片访问示例:
主图访问
http://218.2.204.124:30308/group1/M00/00/03/BgAk813IvTCAIxxxAAD44NFKFPc908.png
压缩图片 (主图后加 !format = 宽度_高度) 访问
http://218.2.204.124:30308/group1/M00/00/03/BgAk813IvTCAIxxxAAD44NFKFPc908.png!format=400_10
未解决的问题
压缩图片使用主图后? format = 宽度_高度
来源: http://www.bubuko.com/infodetail-3289805.html