如何在Linux Centos上部署配置FastDFS
一.准备工作:
1.准备下面包文件
-- FastDFS_v5.08.tar.gz
-- libevent-2.0.22-stable.tar.gz
-- libfastcommon-master.zip
-- fastdfs-nginx-module_v1.16.tar.gz
-- nginx-1.10.0.tar.gz
下载上面所需文件:https://pan.baidu.com/s/10CJO2E9z8XqC_z9bocWMdg 提取码:h5zf
二.安装部署步骤
1.安装FastDFS所需各种依赖
1.1 安装GCC依赖
sudo yum -y install gcc
1.2 安装unzip工具
sudo yum install -y unzip zip
1.3 安装libevent
sudo yum -y install libevent
1.4 安装Nginx所需依赖(假如该系统已经按照了nginx,就可以跳过该步骤)
sudo yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel
2.把所有需要用到的文件上传到linux系统中
2.1通过xshell工具,连接上linux系统
2.2.进入到opt目录下

2.3.通过rz命令进行上传文件,输入rz,点击回车,就能打开下面界面
注意:假如该linux系统未安装rz和sz命令,请先输入以下命令进行源码安装--yum install -y lrzsz
3.依次解压安装编译各个压缩包
3.1 编译安装libfastcommon-master
输入以下命令对该文件进行解压操作:
unzip -xvf libfastcommon-master.zip

进入当刚刚解压后的目录--cd libfastcommon-master/

输入以下命名进行编译sudo ./make.sh

编译完后,再输入sudo ./make.sh intall进行安装

3.2 安装FastDFS
返回到opt目录下,也就是FastDFS压缩包上传的位置--cd /opt/
然后输入以下命令进行解压操作:tar -xvf FastDFS_v5.08.tar.gz

解压成功后,进入到解压目录--cd FastDFS

然后进行编译及安装操作-sudo ./make.sh

编译成功后,再进行安装

安装成功后,现在来检查以下是否真的安成功了吧
输入以下命令,查看是否安装成功--ll /etc/init.d/ | grep fdfs,我们发现该目录下已经有FastDFS提供的二个启动脚本了
- fdfs_trackerd 是tracker启动脚本
- fdfs_storaged 是storage启动脚本

然后再看看/etc/fdfs目录下是否存在三个配置文件--ll /etc/fdfs/
-- client.conf.sample
-- storage.conf.sample
-- tracker.conf.sample
假如上面的文件都存在,就说明安装成功啦!接下来就是配置各类配置文件了。
3.3 配置tracker服务
3.3.1 首先我们对模块文件输入以下命令进行重命名---sudo cp tracker.conf.sample tracker.conf

3.3.2 然后编辑修改tracker.conf文件--sudo vim tracker.conf
该文件初始化只需要修改base_path字段就ok,假如你配置的目录不是图中的目录,只要保证你所配置的目录存在即可。

3.3.3 验证tracker是否配置成功
通过以下命令进行启动tracker: sudo service fdfs_trackerd start

假如嫌每次启动麻烦,可以配置成开机启动--sudo chkconfig fdfs_trackerd on

3.4 配置storage服务
3.4.1 首先我们对模块文件输入以下命令进行重命名---sudo cp storage.conf.sample storage.conf

3.4.2 然后对storage.conf文件进行修改下面几个参数--sudo vim storage.conf
base_path=/opt/FastDFS/storage # storage的数据和日志存放目录--该目录必须得存在,不存在得去创建
store_path0=/opt/FastDFS/storage # storage的上传文件存放路径--该目录必须得存在,不存在得去创建
tracker_server=你linux的主机IP:22122 # tracker的地址

3.4.3 配置完成后我们来验证一下吧
通过以下命令进行启动tracker: sudo service fdfs_storaged start

假如嫌每次启动麻烦,可以配置成开机启动--sudo chkconfig fdfs_storaged on

最好我们查看下进程是否启动成功--ps -ef|grep fdfs

发现二个服务都启动成功了,恭喜你,走到了这步,马上可以是否FastFDS进行文件的上传下载了啦。
3.5 安装Nginx及FastDFS模块
3.5.1 安装FastDFS模块-fastdfs-nginx-module
进入到fastdfs-nginx-module_v1.16.tar.gz文件所在目录,即opt目录下-cd /opt/,然后解压到FastDFS目录下

对该文件进行解压操作--tar -xvf fastdfs-nginx-module_v1.16.tar.gz -C FastDFS/

3.5.2 解压成功后,我们来配置config文件吧
进入到刚刚解压的文件目录下的src目录下-cd /opt/FastDFS/fastdfs-nginx-module/src/

3.5.3 然后修改config文件-vim config
把里面的/usr/local/ 调整为/usr/
可以输入下面命令快速全局修改--:%s+/usr/local/+/usr/+g

修改完成后记得wq!保存退出哦
3.5.4 然后再来配置mod_fastdfs.conf文件
将src目录下的mod_fastdfs.conf复制到 /etc/fdfs目录--sudo cp mod_fastdfs.conf /etc/fdfs/

然后再修改复制过去的该文件:--sudo vim /etc/fdfs/mod_fastdfs.cof

- 修改以下参数:
connect_timeout=10 # 客户端访问文件连接超时时长(单位:秒)
tracker_server=你linux主机IP:22122 # tracker服务IP和端口
url_have_group_name=true # 访问链接前缀加上组名
store_path0=/opt/FastDFS/storage # 文件存储路径
修改完成后记得保存哦!
3.5.5 接下来就复制一下FastDFS的部分配置文件到/etc/fdfs目录中去
cd /opt/FastDFS/conf/

cp http.conf mime.types /etc/fdfs/

3.6 安装Nginx(假如你已经安装好了Nginx,请跳过该步骤哦)
进入到nginx-1.10.0.tar.gz文件所在目录,即opt目录下,然后对该文件进行解压操作--tar -xvf nginx-1.10.0.tar.gz

解压后,进入到解压的目录/opt/nginx-1.10.0/,然后进行添加模块--FastDFS/fastdfs-nginx-module/src/为上面fastdfs-nginx-module_v1.16.tar.gz文件所解压的目录
sudo ./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=/opt/FastDFS/fastdfs-nginx-module/src

安装配置好后,就可以开始编译及安装Nginx了啦

特别注意:假如你已经安装了Nginx了的话,那就跳过上面的3.6步骤,只进行下面的操作即可。
进入到nginx安装解压后的目录,然后进行添加模块--FastDFS/fastdfs-nginx-module/src/为上面fastdfs-nginx-module_v1.16.tar.gz文件所解压的目录
sudo ./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=/opt/FastDFS/fastdfs-nginx-module/src

然后先备份一下/usr/bin目录下的nginx文件

备份完成后,然后重新编译一下Nginx

编译完成后,进入到/opt/nginx-1.10.0/objs 目录下,把编译好的nginx文件复制到/usr/bin目录下,覆盖原先的nginx即可

进行到这里,就差最好一步啦,是不是很激动,赶紧看下面步骤吧....
3.7 配置nginx整合fastdfs-module模块
在nginx.conf文件中配置fastdfs-module模块
进入到opt目录下然后输入命令:sudo vim nginx/conf/nginx.conf

然后在该配置文件中写入以下配置内容:
server {
listen 80;
server_name 你的linux主机IP;
# 监听域名中带有group的,交给FastDFS模块处理
location ~/group([0-9])/ {
ngx_fastdfs_module;
}
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
好了,到目前已经配置完成啦,是不是很高兴,接下来我们启动下nginx吧,直接输入nginx就可启动成功


nginx -s stop # 停止
nginx -s reload # 重新加载配置
假如需要开机启动的话,那我们可以查看下另外一篇随笔进行配置--点击查看
到现在我们就可以进行文件上传查看了啦。
现在我们修改下client.conf配置文件,我们用这个配置文件和/usr/bin目录下的一个上传脚本来模拟上传操作。
进入到/etc/fdfs目录下,先复制生成一份client.conf文件

然后再修改base_path和tracker_server参数,如图所示--vim client.conf--IP为你linux主机IP,base_path地址必须存在,不存在则需要去创建

修改后记得保存哦!
配置好后,我们重新启动下Fastdfs,然后就可以验证上传了啦。
sudo service fdfs_trackerd start;
sudo service fdfs_storaged start;
进入到/etc/fdfs目录下后输入下面命令进行上传,可以看到执行结果就是上传后的图片路径;
/usr/bin/fdfs_upload_file client.conf /tmp/photo.jpg

拿到这个路径后我们去访问一下

如何在Linux Centos上部署配置FastDFS的更多相关文章
- 如何在Linux服务器上部署禅道
最近换了新的项目团队,由于新团队比较年轻化,没有实行正规的项目管理,于是我自告奋勇要为团队管理出一份力,帮助团队建立敏捷化的项目管理,经过多方考究和对比后,选择了目前较受欢迎的开源项目管理软件:禅道. ...
- 如何在linux CentOS 上安装chrome 谷歌浏览器?
获得linux命令的root权限:http://blog.csdn.net/mddy2001/article/details/76521101. 更改密码在终端中输入:sudo passwd root ...
- 在Linux CentOS上部署Asp.Net Core项目(Tengine、Asp.Net Core、Centos、MySql)
一.前言 1.简单记录一下Linux CentOS 7中安装与配置Tengine的详细步骤. 2.简单比较一下Tengine 和Nginx 3.搭建Asp.net Core和部署 Web程序 4.总结 ...
- 如何在Linux服务器上部署Mysql
一.安装mysql 1.通过文件上传工具,将mysql安装包上传到linux服务器上 2.卸载mariadb包,由于系统中存在mariadb包会导致mysql安装时报错mariadb-libs被mys ...
- 如何在 Linux 服务器上部署多个 Tomcat
开发管理项目时多多少少会遇到服务器不够用.一个项目分成多个子项目的情况,故研究了一下如何在一台服务器部署多个 Tomcat. 具体操作: 1.在 /tomcat/ 下部署多个 tomcat. 2.修改 ...
- Linux CentOS下部署Java Web项目
本文讲解如何在Linux CentOS下部署Java Web项目的步骤. 一.环境准备: (1)Linux CentOS (2)apache-tomcat-9.0.10 (3)XShell 二.启动t ...
- 分布式文件系统 FastDFS 5.0.5 & Linux CentOS 7 安装配置(单点安装)——第一篇
分布式文件系统 FastDFS 5.0.5 & Linux CentOS 7 安装配置(单点安装)--第一篇 简介 首先简单了解一下基础概念,FastDFS是一个开源的轻量级分布式文件系统,由 ...
- CentOS上部署Django+Nginx+Uwsgi环境
在CentOS上部署Django+Nginx+Uwsgi环境 奇谭 2016-09-01 评论 Linux python django nginx uwsgi VirtualEnv的作用:创建隔 ...
- 在CentOS上部署kubernetes1.9.0集群
原文链接: https://jimmysong.io/kubernetes-handbook/cloud-native/play-with-kubernetes.html (在CentOS上部署kub ...
随机推荐
- vue的父与子组件的访问
父访问子 (需要掌握) this.$children 和 this.$refs this.$children 返回的是一个数组,包含父组件的所有子组件 this,$refs 返回的是一个对象,默认为空 ...
- pytest--mark基本使用(主要通过pytest.ini文件注册标签名,对用例进行标记分组)
1.pytest中的mark介绍 mark主要用于在测试用例/测试类中给用例打标记(只能使用已注册的标记 名),实现测试分组功能,并能和其它插件配合设置测试方法执行顺序等.如下 图,现在需要只执行红色 ...
- BI和报表的区别在哪?还傻傻分不清楚吗?
1.面向人群不同 报表主要针对IT人员,或者专业的报表开发人员.用户需要具备一定的编程知识.制作一张报表通常需要先由业务人员提出需求,再由IT部门人员取数制作报表. BI主要面向业务人员和管理人员.B ...
- Kubernetes云供应商架构的未来
首先,我想分享SIG的使命,因为我们用它来指导我们现在和将来的工作.从我们的章程中直接来看,SIG的使命是简化,开发和维护云供应商集成,作为Kubernetes集群的扩展或附加组件.这背后的动机是双重 ...
- Java:IO流(二)——InputStream/OutputStream具体用法:FileXXXStream、ByteArrayXXXStream
1.说明 InputStream和OutputStream是Java标准库中最基本的IO流,它们都位于java.io包中,该包提供了所有同步IO的功能. 2.模块:java.io.InputStrea ...
- 解决 “Project ERROR: Unknown module(s) in QT: webengine”以及“Your MaintenanceTool appears to be older than 3.0.2. .” 的办法
1.环境 Windows10,Qt5.8.0 2.问题描述 需要使用到WebEngineView组件,在工程.pro中增加webengine后,Qt Creator应用程序输出中打印了 Project ...
- pyqt(二)
二.文本和图片 1. 文本控件 文本控件是QLabel from PyQt5.QtWidgets import QWidget,QApplication,QLabel from PyQt5.QtCor ...
- 数据库连接池与SQL工具类
数据库连接池与SQL工具类 1.数据库连接池 依赖包 pymysql dbutils # -*- coding: utf-8 -*- ''' @Time : 2021/11/19 16:45 @Aut ...
- 字符串格式化String.Format
//给变量赋值字符串00002 string s = String.Format( "{0:d5}", 2);
- SpringBoot 搭建基于 MinIO 的高性能存储服务
1.什么是MinIO MinIO是根据GNU Affero通用公共许可证v3.0发布的高性能对象存储.它与Amazon S3云存储服务兼容.使用MinIO构建用于机器学习,分析和应用程序数据工作负载的 ...