如何在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 ...
随机推荐
- 阿里云K8S节点NotReady状态
开发部署pod的时候在wayne平台上部署不上去,删除也删除不了 先删除 kubectl delete pod pod-name --grace-period=0 --force 删除之后然后部署新的 ...
- 『无为则无心』Python面向对象 — 56、Python多态
目录 1.Python中的多态 (1)多态的定义 (2)多态的好处 (3)多态实现步骤 2.体验多态 1.Python中的多态 (1)多态的定义 多态是一种使用对象的方式,子类重写父类方法,不同的子类 ...
- 内网安全---隐藏通信隧道基础&&网络通信隧道之一ICMP隧道
一,隐藏通信隧道基础知识 在完成信息收集之后,我们要判断流量是否出的去.进的来.隐藏通信隧道技术常用于在受限的网络环境中追踪数据流向和在非受信任的网络中实现安全的数据传输. 1.常见的隧道: .网络层 ...
- 在 Linux 下确认 NTP 是否同步的方法
NTP 意即网络时间协议Network Time Protocol,它通过网络同步计算机系统之间的时钟.NTP 服务器可以使组织中的所有服务器保持同步,以准确时间执行基于时间的作业.NTP 客户端会将 ...
- C#编程学习(一)
1.1 开始在Visual Studio 2013环境中编程 控制台应用程序是在命令提示符窗口而非图形用户界面(GUI)中运行的应用程序. 集成开发环境(Integrated Development ...
- 关于Dll、Com组件、托管dll和非托管dll
转自:https://blog.csdn.net/black_bad1993/article/details/53906252 Com组件 1.线程模型是干嘛用的?解决"多个线程" ...
- 【windows 访问控制】十一、C# 实操 对象 System.Security.AccessControl 命名空间
AccessControl 命名空间 结构图 解说: DirectorySecurity=目录ACLFileSecurity=文件ACLFileSystemAuditRule=目录和文件中SACL中的 ...
- Qt:输出为CSV文件时汉字乱码
参考 (18条消息) QT5写csv文件,文件打开后中文显示乱码的问题解决_yanzi150207348的博客-CSDN博客 解决方法 1.在文件开头写一段: #if _MSC_VER >= 1 ...
- pyinstaller打包exe文件,运行时一闪而过
pyinstaller打包exe文件出现命令窗口一闪而过 原因:exe运行过程中出错了,解决这些错误就可以了 解决方法: 通过 cd path >> xxx.exe 在命令行中运行exe文 ...
- SQL Server的Linked Servers
文章搬运自:SQL Server的Linked Servers(链接) 参考引用一下,感谢作者~ 我们在使用SQL Server时,有时会有这种需求,需要从一个SQL Server服务器A中,查询另一 ...