如何在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 ...
随机推荐
- OC之判断数组最大最小值
超简单的筛选方法 array为你筛选的数组 NSNumber * max = [Array valueForKeyPath:@"@max.floatValue"]; NSNumbe ...
- uni-app tabBar中间按钮 之 midButton
midButton 中间按钮 仅在 list 项为偶数时有效 , 需要App 2.3.4+.H5 3.0.0+以上版本 midButton 属性说明 属性 类型 必填 默认值 描述 width Str ...
- 华为eNSP环境,WLAN简介与组网,AP+AC详细配置
WLAN简单组网一.概述 无线局域网(Wireless Local Area Networks: WLAN)利用无线技术在空中传输数据.话音和视频信号.作为传统布线网络的一种替代方案或延伸,无线 ...
- for循环中i++和++i 的区别(转载)
++i是先执行i=i+1再使用i的值,而i++是先使用i的值再执行i=i+1: for循环的执行顺序是这样的: for(a;b;c){ d; } 进入for循环,首先执行起始语句a,然后判断语句b是否 ...
- 【C# Task】 ValueTask/Task<TResult>
概要 1.如果异步方法的使用者使用 Task.WhenAll 或 Task.WhenAny,则在异步方法中使用 ValueTask<T> 作为返回类型可能会产生高昂的成本.这是因为您需要使 ...
- 反编译C#代码来看看闭包到底是什么
原文地址:https://zhuanlan.zhihu.com/p/3161634 C#的闭包,是一个语法糖. 它实质上是将匿名函数转换成一个类,函数作为其中的类方法,并调整外部调用代码来实现的.既然 ...
- 【用户状态】详细解读Oracle用户ACCOUNT_STATUS的九种状态
转至:http://blog.itpub.net/519536/viewspace-672276/ DBA_USERS视图中ACCOUNT_STATUS记录的用户的当前状态,一般情况下在使用的正常用户 ...
- FTP服务器日志解析
转至:https://blog.csdn.net/weixin_34320724/article/details/92045244 FTP是老牌的文件传输协议,在网络中应用非常广泛.本节就Vsftp服 ...
- 小程序swiper高度自适应解决方案
scroll-view 里面继续套一个 scroll-view ,设置纵向允许滚动 <swiper class="swiper"> <swiper-item> ...
- UnboundLocalError: local variable ‘xxx‘ referenced before assignment
原因 在Python函数中调用了某个和全局变量同名的局部变量,导致编译器不知道此时使用的是全局变量还是局部变量 a = 3 def func(): a+=3 func() UnboundLocalEr ...