centos8安装fastdfs6.06(单机方式)
一,下载 fastdfs6.06
1,官方地址
https://github.com/happyfish100
2,说明:当前版本:共3个子模块
fastdfs v6.06
libfastcommon v1.0.43
fastdfs-nginx-module v 1.22
说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest
对应的源码可以访问这里获取: https://github.com/liuhongdi/
说明:作者:刘宏缔 邮箱: 371125307@qq.com
3,下载
[root@localhost source]# wget https://github.com/happyfish100/fastdfs/archive/V6.06.tar.gz
[root@localhost source]# wget https://github.com/happyfish100/fastdfs-nginx-module/archive/V1.22.tar.gz
[root@localhost source]# wget https://github.com/happyfish100/libfastcommon/archive/V1.0.43.tar.gz
二,下载nginx
1,官网地址:
http://nginx.org/
2,下载nginx
[root@localhost source]# wget http://nginx.org/download/nginx-1.17.8.tar.gz
三,安装fastdfs所需的程序包
[root@localhost dest]# yum install gcc gcc-c++
[root@localhost dest]# yum install libtool zlib zlib-devel openssl openssl-devel
[root@localhost dest]# yum -y install pcre pcre-devel libevent libevent-devel perl unzip net-tools wget
说明:在fastdfs的编译安装时会用到这些包,避免编译时出现报错
四,libfastcommon的安装
1,解压libfastcommon的压缩包
[root@localhost source]# tar -zxvf V1.0.43.tar.gz
2, 编译并安装
[root@localhost source]# cd libfastcommon-1.0.43/
[root@localhost libfastcommon-1.0.43]# ./make.sh && ./make.sh install
3,检查执行的结果,看安装是否成功:
[root@localhost libfastcommon-1.0.43]# ls /usr/lib64|grep libfastcommon
libfastcommon.so
[root@localhost libfastcommon-1.0.43]# ls /usr/lib|grep libfastcommon
libfastcommon.so
说明:如果能看到libfastcommon.so,说明安装成功
五,编译安装fastdfs
1,解压fastdfs
[root@localhost source]# tar -zxvf V6.06.tar.gz
2,安装fastdfs
[root@localhost source]# cd fastdfs-6.06/
[root@localhost fastdfs-6.06]# ./make.sh && ./make.sh install
3,检查fastdfs是否安装成功?
[root@localhost fastdfs-6.06]# ls /usr/bin|grep fdfs
fdfs_appender_test
fdfs_appender_test1
fdfs_append_file
fdfs_crc32
fdfs_delete_file
fdfs_download_file
fdfs_file_info
fdfs_monitor
fdfs_regenerate_filename
fdfs_storaged
fdfs_test
fdfs_test1
fdfs_trackerd
fdfs_upload_appender
fdfs_upload_file
说明:能看到fdfs_打头的这些程序,则表示安装成功
六,生成启动fastdfs所需的配置文件
[root@localhost fastdfs-6.06]# cd /etc/fdfs/
[root@localhost fdfs]# cp storage.conf.sample storage.conf
[root@localhost fdfs]# cp client.conf.sample client.conf
[root@localhost fdfs]# cp tracker.conf.sample tracker.conf
七,启动tracker服务
1,创建tracker服务所需的目录
[root@localhost fdfs]# mkdir /data/fastdfs
[root@localhost fdfs]# mkdir /data/fastdfs/tracker
[root@localhost fdfs]# chmod 777 /data/fastdfs/tracker
2,配置tracker服务,
修改 tracker.conf 文件
[root@localhost fdfs]# vi /etc/fdfs/tracker.conf
只修改base_path一项的值为我们在上面所创建的目录即可
base_path = /data/fastdfs/tracker
3,启动 tracker 服务
[root@localhost fdfs]# /etc/init.d/fdfs_trackerd start
4,检查tracker服务启动是否成功
[root@localhost fdfs]# ps auxfww | grep fdfs
root 15067 0.0 0.0 12320 964 pts/0 S+ 15:14 0:00 | | \_ grep --color=auto fdfs
root 15026 0.0 0.1 90160 5940 ? Sl 15:13 0:00 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
能看到 fdfs_trackerd,表示tracker服务启动成功
5,检查tracker服务是否已绑定端口 22122?
[root@localhost dest]# netstat -anp | grep 22122
tcp 0 0 0.0.0.0:22122 0.0.0.0:* LISTEN 15026/fdfs_trackerd
说明: 22122端口是在/etc/fdfs/tracker.conf中定义的,
如下:
# the tracker server port
port = 22122
八,启动storage服务
1,创建storage服务所需的目录
[root@localhost fdfs]# mkdir /data/fastdfs/storage
[root@localhost fdfs]# chmod 777 /data/fastdfs/storage/
2, 配置storage服务
编辑storage的配置文件:
[root@localhost fdfs]# vi /etc/fdfs/storage.conf
各配置项包括:
配置base_path为上面所创建的storage目录
base_path = /data/fastdfs/storage
store_path0 = /data/fastdfs/storage
//上面的store_path :存储所在的目录,可以设置多个,注意从0开始
tracker_server = 192.168.3.172:22122
//上面是tracker_server的ip和端口
http.server_port = 80
//上面是指定http服务的端口
说明:从上面我们可以看到,storage_server在启动时要注册到tracker_server,
从而实现由tracker_server对其进行调度
3,启动storage服务
[root@localhost fdfs]# /etc/init.d/fdfs_storaged start
正在启动 fdfs_storaged (via systemctl): [ 确定 ]
4,检查storage服务启动是否成功?
[root@localhost fdfs]# ps auxfww | grep fdfs
root 15630 0.0 0.0 12320 972 pts/0 S+ 15:46 0:00 | | \_ grep --color=auto fdfs
root 15026 0.0 0.1 155696 6964 ? Sl 15:13 0:00 /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
root 15573 2.7 1.7 150736 66292 ? Sl 15:45 0:02 /usr/bin/fdfs_storaged /etc/fdfs/storage.conf
说明:看到fdfs_storaged,表示storage服务启动成功
5,检查storage服务是否已绑定到端口:23000?
[root@localhost fdfs]# netstat -anp | grep 23000
tcp 0 0 0.0.0.0:23000 0.0.0.0:* LISTEN 15573/fdfs_storaged
说明:23000 端口是在配置文件 /etc/fdfs/storage.conf中定义的,如下:
# the storage server port
port = 23000
九,配置fastdfs的客户端使用的配置文件
1,配置客户端要使用的client.conf
[root@localhost fdfs]# vi /etc/fdfs/client.conf
以下两项配置用到的tracker目录和服务器地址端口
base_path = /data/fastdfs/tracker
tracker_server = 192.168.3.172:22122
2,从客户端的配置可以看到:客户端只需要了解tracker_server的信息
Tracker server作用也正是负载均衡和调度
3, Storage server作用是文件存储,客户端上传的文件最终存储在 Storage 服务器上
十,安装nginx及fastdfs-nginx-module
1,解压nginx:
[root@localhost source]# tar -zxvf nginx-1.17.8.tar.gz
2,解压fastdfs-nginx-module
[root@localhost source]# tar -zxvf V1.22.tar.gz
3,修改config文件,把/usr/local 替换成 /usr
[root@localhost source]# cd fastdfs-nginx-module-1.22/
[root@localhost fastdfs-nginx-module-1.22]# cd src
[root@localhost src]# vi config
4,nginx配置,添加fastdfs-nginx-module和http_stub_status_module 模块
[root@localhost fdfs]# cd /usr/local/source/nginx-1.17.8/
[root@localhost nginx-1.17.8]# ./configure --prefix=/usr/local/soft/nginx --with-http_stub_status_module --add-module=/usr/local/source/fastdfs-nginx-module-1.22/src/
5,编译安装nginx
[root@localhost nginx-1.17.8]# make && make install
6,检查安装是否成功?
[root@localhost nginx-1.17.8]# ls /usr/local/soft/ | grep nginx
nginx
7,查看指定的编译参数是否起作用?
[root@localhost fdfs]# /usr/local/soft/nginx/sbin/nginx -V
nginx version: nginx/1.17.8
built by gcc 8.3.1 20190507 (Red Hat 8.3.1-4) (GCC)
configure arguments: --prefix=/usr/local/soft/nginx --with-http_stub_status_module --add-module=/usr/local/source/fastdfs-nginx-module-1.22/src/
十一,配置fastdfs-nginx-module
1,生成配置文件:
[root@localhost nginx-1.17.8]# cp /usr/local/source/fastdfs-nginx-module-1.22/src/mod_fastdfs.conf /etc/fdfs/
2,编辑配置文件:
[root@localhost nginx-1.17.8]# vi /etc/fdfs/mod_fastdfs.conf
配置以下几项
connect_timeout=10
tracker_server=192.168.3.172:22122
url_have_group_name = true
store_path0=/data/fastdfs/storage
3,复制另两个web访问用到配置文件到fdfs配置目录下:
[root@localhost nginx-1.17.8]# cd /usr/local/source/fastdfs-6.06/conf/
[root@localhost conf]# cp http.conf /etc/fdfs/
[root@localhost conf]# cp mime.types /etc/fdfs/
十二,配置nginx
编辑nginx的配置文件:
[root@localhost conf]# vi /usr/local/soft/nginx/conf/nginx.conf
在server listen 80 的这个server配置下面,
增加一个location
location ~/group([0-9]) {
root /data/fastdfs/storage/data;
ngx_fastdfs_module;
}
十三,启动nginx
1,启动
[root@localhost storage]# /usr/local/soft/nginx/sbin/nginx
2,检查nginx是否已成功启动
[root@localhost storage]# ps auxfww | grep nginx
root 24590 0.0 0.0 12320 980 pts/0 S+ 16:44 0:00 | | \_ grep --color=auto nginx
root 24568 0.0 0.0 41044 428 ? Ss 16:44 0:00 \_ nginx: master process /usr/local/soft/nginx/sbin/nginx
nobody 24569 0.0 0.1 74516 4940 ? S 16:44 0:00 \_ nginx: worker process
十四,测试上传一张图片
1,准备一张图片,然后上传
[root@localhost storage]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /home/liuhongdi/image/nginx.jpg
group1/M00/00/00/wKgDrF5U32GAZAo1AAAyP-hllUI402.jpg
注意fdfs所返回的地址,我们需要使用这个地址进行访问
2,打开浏览器:访问这个地址:
http://192.168.3.172/group1/M00/00/00/wKgDrF5U32GAZAo1AAAyP-hllUI402.jpg
可以看到图片
3,说明:192.168.3.172是拼接的本地服务器的ip
4,实际的图片位于文件系统中什么位置?
[root@localhost data]# pwd
/data/fastdfs/storage/data
[root@localhost data]# ls 00/00
wKgDrF5U32GAZAo1AAAyP-hllUI402.jpg
可见/group1/M00这两个目录是由fdfs所管理生成的目录:
它们分别代表fdfs生成的组名和磁盘
十五,查看fdfs的版本
[root@localhost data]# fdfs_monitor /etc/fdfs/client.conf | grep version
[2020-02-25 16:58:01] DEBUG - base_path=/data/fastdfs/tracker, connect_timeout=5, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0 version = 6.06
十六,监控fdfs的运行状态
[root@localhost data]# fdfs_monitor /etc/fdfs/client.conf
十七,查看本地centos的版本
[root@localhost lib]# cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)
centos8安装fastdfs6.06(单机方式)的更多相关文章
- centos8安装fastdfs6.06集群方式三之:storage的安装/配置/运行
一,查看本地centos的版本 [root@localhost lib]# cat /etc/redhat-release CentOS Linux release 8.1.1911 (Core) 说 ...
- centos8安装fastdfs6.06集群方式二之:tracker的安装/配置/运行
一,查看本地centos的版本 [root@localhost lib]# cat /etc/redhat-release CentOS Linux release 8.1.1911 (Core) 说 ...
- centos8安装fastdfs6.06集群方式一之:软件下载与安装
一,查看本地centos的版本 [root@localhost lib]# cat /etc/redhat-release CentOS Linux release 8.1.1911 (Core) 说 ...
- CentOS8安装fastdfs6.06
目录 一.准备环境 二.解压并编译安装 1.解压下载好的包 2.编译安装 2.1.编译安装 libfastcommon 2.2.编译安装 fastdfs 2.3.安装 nginx 和 fastdfs- ...
- Hadoop三种安装模式:单机模式,伪分布式,真正分布式
Hadoop三种安装模式:单机模式,伪分布式,真正分布式 一 单机模式standalone单 机模式是Hadoop的默认模式.当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守 ...
- Hadoop安装教程_单机/伪分布式配置_CentOS6.4/Hadoop2.6.0
Hadoop安装教程_单机/伪分布式配置_CentOS6.4/Hadoop2.6.0 环境 本教程使用 CentOS 6.4 32位 作为系统环境,请自行安装系统.如果用的是 Ubuntu 系统,请查 ...
- CentOS8安装VirtualBox,并创建CentOS虚拟机
安装VirtualBox 执行以下命令并启用VirtualBox和EPEL包仓库 [root@localhost~] dnf config-manager --add-repo=https://dow ...
- Myeclipse安装svn插件(link方式)
Myeclipse安装svn插件(link方式) 优点:1.离线安装2.非侵入式 演示版本 myeclipse--myeclipse8.6 svn--subeclipse-site-1.6.5.zip ...
- CMake安装(源码方式)
CMake主页是 https://cmake.org/download/ 一.不指定安装目录方式(不需要配置环境变量) 1.安装必备包(存在的包不用卸载,yum会自动更新) yum install - ...
随机推荐
- bernoulli, multinoulli distributions 讲解
bernoulli, multinoulli distributions 讲解 常用概率分布-Bernoulli 分布 & Multinoulli 分布 转自:迭代自己-19常用概率分布 ...
- [leetCode]5. 最长回文子串(DP)
题目 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 题解 dp.先初始化长度为1和长度为2的串.再依次算长度为3,4,5.... 当找到回文串时,若长度比当 ...
- .NET 5.0 RC1 发布,离正式版发布仅剩两个版本
原文:http://dwz.win/Qf8 作者:Richard 翻译:精致码农-王亮 说明:1. 本译文并不是完全逐句翻译的,存在部分语句我实在不知道如何翻译或组织就根据个人理解用自己的话表述了.2 ...
- openstack核心组件——glance— 镜像服务(6)
云计算openstack核心组件——glance— 镜像服务(6) 一.glance介绍: Glance是Openstack项目中负责镜像管理的模块,其功能包括虚拟机镜像 ...
- 分享一个php的防火墙,拦截SQL注入和xss
一个基于php的防火墙程序,拦截sql注入和xss攻击等 安装 composer require xielei/waf 使用说明 $waf = new \Xielei\Waf\Waf(); $waf- ...
- Latex博客转载
\[{e^{ix}=cosx+isinx} \] \[[博客地址](https://www.cnblogs.com/Sinte-Beuve/p/6160905.html) \]
- Java基础一篇过(一)反射
一.反射是个啥 定义 : 在运行状态中动态获取的类的信息以及动态调用对象的方法,这种功能称为java语言的反射机制. 对于任意一个类,都能够知道这个类的所有属性和方法. 对于任意一个对象,都能够调用它 ...
- 文档驱动 —— 表单组件(六):基于AntDV的Form表单的封装,目标还是不写代码
开源代码 https://github.com/naturefwvue/nf-vue3-ant 也不知道大家是怎么写代码的,这里全当抛砖引玉 为何封装? AntDV非常强大,效果也非常漂亮,功能强大, ...
- 从 ES6 高阶箭头函数理解函数柯里化
前言:第一次看到多个连续箭头函数是在一个 react 项目中,然鹅确认了下眼神,并不是对的人,因为看得一脸懵逼.em......于是开始各种搜索,先是知道了多个连续箭头函数就是 es6 的多次柯里化的 ...
- Spark Parquet详解
Spark - Parquet 概述 Apache Parquet属于Hadoop生态圈的一种新型列式存储格式,既然属于Hadoop生态圈,因此也兼容大多圈内计算框架(Hadoop.Spark),另外 ...