前面已经讲 一张图秒懂微服务的网络架构,通过此文章可以了解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. NIO 在Tomcat中的应用

    对NIO的理解 个人单方面认为,NIO与BIO的最大区别在于主动和被动,使用BIO的方式需要等待被调用方返回数据,很明显此时调用者是被动的. 举个例子 阻塞IO 假设你是一个胆小又害羞的男孩子,你约了 ...

  2. JavaScript中继承的实现方法--详解

    最近看<JavaScript王者归来>中关于实现继承的方法,做了一些小总结: JavaScript中要实现继承,其实就是实现三层含义:1.子类的实例可以共享父类的方法:2.子类可以覆盖父类 ...

  3. Spring Boot2 系列教程(二十一)整合 MyBatis

    前面两篇文章和读者聊了 Spring Boot 中最简单的数据持久化方案 JdbcTemplate,JdbcTemplate 虽然简单,但是用的并不多,因为它没有 MyBatis 方便,在 Sprin ...

  4. C 总结 | 复习注意点

    1.1 C预处理 常见错误 预处理错误 #include "" 和 <> 使用错误 "No such....." 更改“” 或者<> 或 ...

  5. python、C++经典算法题:打印100以内的素数

    题目 打印100以内的素数 思路1 素数的特点: 素数一定是奇数 一个数如果是合数,那么它一定能够被2到这个合数的开平方内的某个素数整除(这个特点是提升效率的关键) 一个数如果不能被从2到它自身开平方 ...

  6. Scrapy进阶知识点总结(一)——基本命令与基本类(spider,request,response)

    一.常见命令 scrapy全局命令可以在任何地方用,项目命令只能在项目路径下用 全局命令: 项目命令: startproject crawl genspider check settings list ...

  7. one of neural network

    map source:https://github.com/microsoft/ai-edu Fundamental Principle inputs: characteristic value th ...

  8. ADO.NET学习心得《一》

    大家好,我是代号六零一,很高兴又开始重启博客了,为了更好的加深自己的记忆和复习,今天开始坚持写写心得体会,刚开始学习ADO.NET的时候也是一脸懵逼的,代码只有动手敲打才会知道其实并不难,只要多敲几遍 ...

  9. NioEventLoop的创建

    NioEventLoop的创建 NioEventLoop是netty及其重要的组成部件,它的首要职责就是为注册在它上的channels服务,发现这些channels上发生的新连接.读写等I/O事件,然 ...

  10. 解决vuex的数据刷新(F5)后会被初始化的问题

    介绍一个vuex的数据刷新(F5)后会被初始化的问题处理的插件:vuex-localstorage 实现的原理大概就是监听浏览器的刷新,关闭事件,把vuex的值存储到本地localstorage,刷新 ...