Skip to main content

moregeek program

fastdfs的安装和使用_wx6369307062d07的博客-多极客编程

fastdfs是用 c 语言编写的一款开源的分布式文件系统,有多种原因的客户端(包括有Java的客户端)。FastDFS 为互联网量身定制, 充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用 FastDFS 很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。

fastdfs架构包括 Tracker server 和 Storage server。客户端请求 Tracker server 进行文 件上传、下载,通过 Tracker server 调度最终由 Storage server 完成文件上传和下载。Tracker server 作用是负载均衡和调度,通过 Tracker server 在文件上传时可以根据一些 策略找到 Storage server 提供文件上传服务。可以将 tracker 称为追踪服务器或调度服务 器。Storage server 作用是文件存储,客户端上传的文件最终存储在 Storage 服务器上, Storageserver 没有实现自己的文件系统而是利用操作系统 的文件系统来管理文件。可以将 storage 称为存储服务器。

FastDFS的安装和使用_客户端

1.  准备如下 tar 包

libfastcommon-1.0.43.tar.gz

fastdfs-6.06.tar.gz

nginx-1.18.0.tar.gz

fastdfs-nginx-module-1.22.tar.gz

2.  libfastcommon的安装

# tar -zxvf libfastcommon-1.0.43.tar.gz //解压

# cd libfastcommon-1.0.43 // 进入解压目录

FastDFS的安装和使用_客户端_02

# ./make.sh             //预编译

FastDFS的安装和使用_客户端_03

# ./make.sh install  //安装

FastDFS的安装和使用_nginx_04

3.  Fastdfs的安装

# tar -zxvf fastdfs-6.06.tar.gz //解压

# cd /root/download/fastdfs-6.06 // 进入解压目录

# ./make.sh

FastDFS的安装和使用_nginx_05

&& ./make.sh install

FastDFS的安装和使用_nginx_06

# ./make.sh && ./make.sh install

FastDFS的安装和使用_nginx_07

4.  Fastdfs的配置

FastDFS由跟踪服务器(Tracker Server)、存储服务器(Storage Server)和客户端(Client)构成。

Tracker Server

# cp /etc/fdfs/tracker.conf.sample tracker.conf

vim tracker.conf

base_path = /opt/fastdfs/tracker

注意:保证/opt/fastdfs/tracker已经存在,否则启动失败。

FastDFS的安装和使用_客户端_08

# service fdfs_trackerd start // 启动

# chkconfig fdfs_trackerd on // 设置开机启动

FastDFS的安装和使用_nginx_09

Storage Server

# cp /etc/fdfs/storage.conf.sample storage.conf

vim storage.conf

base_path = /opt/fastdfs/storage 第50行

FastDFS的安装和使用_服务器_10

store_path0 = /opt/fastdfs/storage0 第130行

FastDFS的安装和使用_客户端_11

tracker_server = 192.168.0.114:22122 第147行

FastDFS的安装和使用_客户端_12

注意:

保证/opt/fastdfs/storage和/opt/fastdfs/storage0已经存在,否则启动失败。

FastDFS的安装和使用_nginx_13

192.168.10.27为内网IP,若要外网调试,可以使用外网IP。

# service fdfs_storaged start // 启动

FastDFS的安装和使用_服务器_14

chkconfig fdfs_storaged on // 设置开机启动

 

查看Storage和Tracker是否在通信:

在/usr/bin/目录下执行/fdfs_monitor /etc/fdfs/storage.conf

FastDFS的安装和使用_服务器_15

5.  Nginx的安装(与fastdfs-nginx-module模块整合)

# tar -zxvf nginx-1.18.0.tar.gz

# tar -zxvf fastdfs-nginx-module-1.22.tar.gz

[root@hadoop2 home]# mv nginx-1.18.0 nginx

[root@hadoop2 home]# cd nginx/

[root@hadoop2 nginx]# ./configure --add-module=../fastdfs-nginx-module-1.22/src

FastDFS的安装和使用_客户端_16

# make && make install

FastDFS的安装和使用_服务器_17

6. 配置

# cp fastdfs-nginx-module-1.22/src/mod_fastdfs.conf /etc/fdfs/

# vim /etc/fdfs/mod_fastdfs.conf

tracker_server=192.168.0.114:22122 第41行

url_have_group_name = true 第54行false改成true

store_path0=/fastdfs/storage 第63行修改路径

# cd fastdfs-6.06/conf/                         // 进入fastdfd源码conf目录

# cp http.conf mime.types /etc/fdfs/     // 将http.conf,mime.types两个文件拷贝到/etc/fdfs/目录下

# vi /usr/local/nginx/conf/nginx.conf

server {

    listen       80;

    server_name  localhost;

    location ~/group([0-9])/M00 {

        root  /opt/fastdfs/storage0/data;

        ngx_fastdfs_module;

    }

}

 

©著作权归作者所有:来自51CTO博客作者wx6369307062d07的原创作品,请联系作者获取转载授权,否则将追究法律责任

源码包编译_极光_code的博客-多极客编程

1. 源码编译介绍源码安装就是将开发人员写好的源码文件进行手动编译安装。目前开源软件,并不是所有的源代码都打成包,如果想使用开源软件,是需要自己下载进行编译安装。需要进行编译安装的场景:软件提供商没有做打包的操作(也就是编译源码)生产环境需要软件的某些特性,需要编译安装。但是源码编译安装是比较繁琐的一个过程,好在前辈们已经提供了相关的项目管理工具,这大大降低了编译过程的复杂性2. 开源程序源代码的

docker搭建kafka集群_wx6369307062d07的博客-多极客编程

对于个人开发者而言,一般手头上没有多台服务器,有人可能会有云服务器,不过一般也只会买一台来用用就好;有人可能更习惯将本机当作服务器来玩。都可以。那么如何通过一台服务器或本机来搭建Kafka集群呢?无外乎两种方式,一是通过docker来搭建,每台kafka broker用不同的端口来启动,即可组成集群;二是通过虚拟机来搭建,即用VMware在服务器或本机上启动多台虚拟机,每台虚拟机都安装一个kafk

[ linux ] 进程间通信介绍 管道_小白又菜的博客-多极客编程

0.进程间通信介绍0.1通信背景在之前我们学习进程时知道进程具有独立性,所以进程间交互数据的成本就变得非常高。进程之间为什么也进行进程间通信,这就需要谈谈进程间通信的目的了。但是进程具有独立性不是彻底独立,只管自己不理任何人,当然不是这样的。进程之间也是存在通信的。那么进程间通信的方式也有很多种,包括管道,System V IPC,POSIX IPC........那么今天我们先来看看进程间如何通

prometheus_大雨的博客-多极客编程

1、部署prometheus server官网下载地址:https://prometheus.io/download/[root@ubuntu2004 ~]#tar xf prometheus-2.40.2.linux-amd64.tar.gz -C /usr/local/[root@ubuntu2004 ~]#cd /usr/local/[root@ubuntu2004 local]#mv pr

linux内核参数引起的 k8s 集群血案_linksla智能运维管家的博客-多极客编程

一、背景说明运行环境信息:Kubernetes + docker,应用程序:Java问题描述1、首先从 Kubernetes 事件中心告警信息如下,该告警集群常规告警事件(其实从下面这些常规告警信息是无法判断是什么故障问题)2、最初怀疑是 docker 服务有问题,切换至节点上查看 docker & kubelet 日志,如下:kubelet 无法初始化线程,需要增加所处运行用户的进程限制

磁盘存储和文件系统_极光_code的博客-多极客编程

一、磁盘结构类型1.设备文件I/O PortsI/O设备地址一切皆文件 open(),read(),write(),close()    设备类型:块设备bolck,存储单位时"块",他的依赖介质时磁盘,比如一个磁盘可以分为很多个块块存储设备通常来讲时随机存放数据的,但它有缓存的机制。字符设备char,存储单位"字符",它的依赖介质是键盘输入数据,作为运维人员应该很熟的一个字符设备就是"/dev/

karmada跨集群优雅故障迁移特性解析_华为云开发者社区的博客-多极客编程

摘要:在 Karmada 最新版本 v1.3中,跨集群故障迁移特性支持优雅故障迁移,确保迁移过程足够平滑。本文分享自华为云社区《​​Karmada跨集群优雅故障迁移特性解析​​》,作者:Karmada社区。在多云多集群应用场景中,为了提高业务的高可用性,用户的工作负载可能会被部署在多个集群中。然而当某个集群发生故障时,为保证业务的可用性与连续性,用户希望故障集群上的工作负载被自动的迁移到其他条件适

python编程(gui线程和工作线程的同步)-多极客编程_python 线程同步

    一般来说,编写gui客户端之外,都要编写几个work thread。因为如果只有一个gui thread,在某些socket或者低速io操作的时候,速度是非常慢的,所以这个时候建议多开几个thread,增加用户体验。    增加几个work thread本身没有问题,但是gui和工作线程沟通是一个问题。一般来说,常用的方法就是在gui线程起一个timer,定时通过queue数据看一下wor

源码包编译_极光_code的博客-多极客编程

1. 源码编译介绍源码安装就是将开发人员写好的源码文件进行手动编译安装。目前开源软件,并不是所有的源代码都打成包,如果想使用开源软件,是需要自己下载进行编译安装。需要进行编译安装的场景:软件提供商没有做打包的操作(也就是编译源码)生产环境需要软件的某些特性,需要编译安装。但是源码编译安装是比较繁琐的一个过程,好在前辈们已经提供了相关的项目管理工具,这大大降低了编译过程的复杂性2. 开源程序源代码的

shell脚本中实现自动输入密码---expect安装使用_雍州无名的博客-多极客编程

expect是一个自动交互功能的工具。expect是开了一个子进程,通过spawn来执行shell脚本,监测到脚本的返回结果,通过expect判断要进行的交互输入内容(send),由于linux系统默认不安装此工具,所以使用前先进行安装。1.安装 expectyum install expect2.实现自动输入密码例子#!/usr/bin/expectspawn mysql_config_edit

prometheus_大雨的博客-多极客编程

1、部署prometheus server官网下载地址:https://prometheus.io/download/[root@ubuntu2004 ~]#tar xf prometheus-2.40.2.linux-amd64.tar.gz -C /usr/local/[root@ubuntu2004 ~]#cd /usr/local/[root@ubuntu2004 local]#mv pr

linux内核参数引起的 k8s 集群血案_linksla智能运维管家的博客-多极客编程

一、背景说明运行环境信息:Kubernetes + docker,应用程序:Java问题描述1、首先从 Kubernetes 事件中心告警信息如下,该告警集群常规告警事件(其实从下面这些常规告警信息是无法判断是什么故障问题)2、最初怀疑是 docker 服务有问题,切换至节点上查看 docker & kubelet 日志,如下:kubelet 无法初始化线程,需要增加所处运行用户的进程限制