前面已经讲 一张图秒懂微服务的网络架构,通过此文章可以了解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=宽度_高度

本文由博客一文多发平台 OpenWrite 发布!

再次感谢!!! 您已看完全文,欢迎关注微信公众号猿码 ,你的支持是我持续更新文章的动力!

一张图讲解单机FastDFS图片服务器安装步骤(修订版)的更多相关文章

  1. 一张图讲解最少机器搭建FastDFS高可用分布式集群安装说明

     很幸运参与零售云快消平台的公有云搭建及孵化项目.零售云快消平台源于零售云家电3C平台私有项目,是与公司业务强耦合的.为了适用于全场景全品类平台,集团要求项目平台化,我们抢先并承担了此任务.并由我来主 ...

  2. 一张图讲解对象锁和关键字synchronized修饰方法

    每个对象在出生的时候就有一把钥匙(监视器),那么被synchronized 修饰的方法相当于给方法加了一个锁,这个方法就可以进行同步,在多线程的时候,不会出现线程安全问题. 下面通过一张图片进行讲解: ...

  3. 一张图讲解为什么需要自己搭建自己的git服务以及搭建的途径

    图片信息量有点大.不废话上图 图中的一些链接: gitlab官方安装文档 https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/in ...

  4. 一张图作为Python入门(图片来自网络)

  5. 網站SSL加密原理簡介(2张图,握手有9个步骤,解释的很清楚)

    Secure Socket Layer說明 SSL是Secure Socket Layer(安全套接層協議)的縮寫,可以在Internet上提供秘密性傳輸.最早是Netscape公司所提出,SSL的目 ...

  6. 干货 | 45张图庖丁解牛18种Queue,你知道几种?

    在讲<21张图讲解集合的线程不安全>那一篇,我留了一个彩蛋,就是Queue(队列)还没有讲,这次我们重点来看看Java中的Queue家族,总共涉及到18种Queue.这篇恐怕是市面上最全最 ...

  7. FastDFS图片服务器单机安装步骤

    前面已经讲 一张图秒懂微服务的网络架构,通过此文章可以了解FastDFS组件中单机安装流程. 单机版架构图 以下为单机FastDFS安装步骤 一.环境准备 CentOS 7.X libfastcomm ...

  8. FastDFS图片服务器单机安装步骤(修订版)

    前面已经讲 一张图秒懂微服务的网络架构,通过此文章可以了解FastDFS组件中单机安装流程. 单机版架构图 以下为单机FastDFS安装步骤 一.环境准备 CentOS 7.X libfastcomm ...

  9. [转帖]FastDFS图片服务器单机安装步骤

    FastDFS图片服务器单机安装步骤 https://www.cnblogs.com/yuesf/p/11847103.html 前面已经讲 一张图秒懂微服务的网络架构,通过此文章可以了解FastDF ...

随机推荐

  1. Python 加密 shellcode 免杀

    Python 加密 shellcode 免杀 环境准备:   Windows7 32 位系统: Shellcode 使用 kali linux Metasploit 生成 shellcode Wind ...

  2. 【POJ3744】Scout YYF I

    Description YYF是一个英勇的侦查员.现在他正在执行打入到敌方内部的危险任务.在解决了一系列的险情后,YYF到达了敌方著名的"地雷路"起始点.这条路非常长,上面被精心排 ...

  3. 基于 Jenkins Pipeline 自动化部署

    最近在公司推行Docker Swarm集群的过程中,需要用到Jenkins来做自动化部署,Jenkins实现自动化部署有很多种方案,可以直接在jenkins页面写Job,把一些操作和脚本都通过页面设置 ...

  4. kettle数据同步的5中方案

    数据同步:当数据源发生改变时,其他相关数据也跟着发展变化.根据需求不同可采取以下方案.1.触发器:在数据库建立增删改的触发器.触发器将变更放到一张临时表里.oracle同步cdc优点:实时同步缺点:影 ...

  5. vim编辑器介绍

    所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在. 但是目前我们使用比较多的是 vim 编辑器. vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正 ...

  6. 【建站03】WordPress网站如何去除RSS功能

    哈喽,大家好,我是帝哥,最近有小伙伴问我,如何去掉WordPress上的RSS功能,这个功能呢,说实话,我们很少会用到. 但是如果有点强迫症的话看着会很不舒服,所以,今天和大家分享一下如何去掉Word ...

  7. Kubernetes5-集群上搭建基于redis和docker的留言薄

    一.简介 1.环境依旧是kubernetes之前文章的架构 2.需要docker的镜像 1)php-forntend web 前端镜像 docker.io-kubeguide-guestbook-ph ...

  8. Linux JDK 安装与配置

    一.下载 JDK 官网链接:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 系 ...

  9. ARM7中断的理解

    谈谈对中断的理解?   中断是计算机中处理异步事件的重要机制      中断触发的方式:       1)中断源级设置          按键:(CPU之外的硬件)               设置中 ...

  10. Python——标识符的命名规则

    01 Python语言的特点 python的语言特点有很多,我们这里只讲一点,python是一门面向对象的语言,即一切皆对象(Linux中有一句是:一切皆文件),括号内的只是打个比方,不懂也没事,就是 ...