资讯专栏INFORMATION COLUMN

本地FastDFS图片服务器搭建

QiShare / 877人阅读

摘要:项目比较老旧,自己修改了一下,跑在上,用的和位系统,记录下来,以后上传图片都可以用。是一个开源的轻量级分布式文件系统,功能包括文件存储文件同步文件访问文件上传文件下载等。主要的有两个角色和。

项目比较老旧,自己修改了一下,跑在mac上,用的IDEA和centos7 64位系统,记录下来,以后上传图片都可以用。

使用场景:图片上传

如果我们把图片全都放在上传到webapp路径下显然是一种非常low的行为,当项目逐渐增大,可能会布置到多个tomcat上,这时对于图片这种资源的处理最好就是集中存放在一起,便于存储和访问。

FastDFS

FastDFS是一个开源的轻量级分布式文件系统,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等。
FastDFS主要的有两个角色:tracker和storage。详细的就不在介绍了,网上有很多资料,我们就来布置一个最简单的一个tracker和一个storage的dfs。

工具

mac系统

helm是一个可以修改mac hosts文件的工具

virtualbox centos7 虚拟机

FileZilla 是mac上的一个ftp服务器,可以方便的操作虚拟机,对于linux指令不是很熟悉的同学可以使用,但不要依赖,指令才是王道

安装好虚拟机 大约就是这个样子

先别启动,点设置看一下网络连接,应该是这个样子的,然后在开启虚拟机

为了方便,可以使用root的账号密码,这样可以方便很多。

输入ip addr 查看IP地址,如果是安装的最小版的cent,应该是没有ifconf这些指令的,可以使用yum install net-tools 前提是你的电脑能上网

可以发现是没有ipv4的地址的,没有地址外网就无法访问。但是这时是可以下载东西的,我们先现在一些必要的依赖包

yum install vim(个人习惯,可以不装)
yum -y install libevent
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
yum install zip unzip

最后我们要访问服务器 首先要通过防火墙,最简单的方法直接关闭防火墙,暴露所有接口,当然也可以选择暴露你要用的接口,这里我们选择最简单的,直接关闭,先查看一下是不是开启了。
firewall-cmd --state #查看默认防火墙状态
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
最后在查看一下状态是否确定关闭了,简单暴力,当然仅限于懒人开发,真实环境肯定不能这么做

准备妥当之后关闭虚拟机,打开设置->网络

修改为桥接网卡在开机,输入ip addr

哒哒,IP地址出来了,没有ip地址的虚拟机就像没有梦想的U盘!

安装程序

这时我们安装Filezilla这个软件

像这样一顿操作以后,就可以看到虚拟机下的文件路径了,这里我们需要FastDFS和nginx的压缩包
nginx-1.8可以自行下载,我提供了fastdfs所需要的包,这些不太好找。点这里密码uc1p
全部放在/usr/local/路径下面。

安装libfastcommonV1.0.7工具包

解压缩

./make.sh

./make.sh install

安装Tracker

解压缩FastDFS_V5.05

./make.sh

./make.sh install

这时在你解压缩的路径下会有一个fastdfs-5.05的文件夹
cd /fastdfs-5.05/conf,拷贝这里的所有配置文件
cp * /etc/fdfs,去查看一下

cd /etc/fdfs
vi tracker.conf 

这时我们修改一下配置文件

回到之前的解压目录下,将tracker.conf做同样的修改

cd /usr/local/fastdfs-5.05/conf
vi tracker.conf 

启动tracker
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
可以通过 ps aux|grep tracker 查看进程是否启动

配置Storage
cd /usr/local/fastdfs-5.05/conf
vi storage.conf 



到/etc/fdfs下,将storage.conf文件做同样的修改

cd /etc/fdfs
vi storage.conf

启动storage服务
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
测试

vi /etc/fdfs/client.conf

cd /etc/fdfs
/usr/bin/fdfs_test /etc/fdfs/client.conf upload anti-steal.jpg

如果成功,这时会将会看到一串url地址,这就是图片在服务器上的存放地址,就表示成功啦

既然是一串url,我们就需要一个nginx为我们解析请求

安装Nginx

解压fastdfs-nginx-module_v1.16.tar.gz
解压nginx-1.8

 vi fastdfs-nginx-module/src/config 把其中的local去掉

cd /nginx-1.8.0


*./configure 
--prefix=/usr/local/nginx 
--pid-path=/var/run/nginx/nginx.pid 
--lock-path=/var/lock/nginx.lock 
--error-log-path=/var/log/nginx/error.log 
--http-log-path=/var/log/nginx/access.log 
--with-http_gzip_static_module 
--http-client-body-temp-path=/var/temp/nginx/client 
--http-proxy-temp-path=/var/temp/nginx/proxy 
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi 
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi 
--http-scgi-temp-path=/var/temp/nginx/scgi 
--add-module=/usr/local/fastdfs-nginx-module/src* 这里就是刚刚你配置的路径



make

make install

将fastdfs-nginx-module/src/mod_fastdfs.conf文件复制到/etc/fdfs目录下,并修改




去nginx中新建一个server

cd /usr/local/nginx/conf
vi nginx.conf

添加如下代码并保存
server {
    listen : 80
    servername : 自己的ip
    localtion /group1/M00{
        ngx_fastdfs_module;
    }
}

cd /usr/local/nginx/sbin
./nginx

启动服务器就好啦

测试

打开本机的浏览器,输入虚拟机的IP地址

如果看到Nginx的欢迎页说明就配置成功啦
今天太晚了,明天写一写在java端maven配置和具体的上传操作代码还有一些后续的小trick

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/67744.html

相关文章

  • FastDFS+Nginx搭建分布式图片存储

    摘要:可以将称为追踪服务器或调度服务器。实际保存文件分为多个组,每个组之间保存的文件是不同的。虚拟磁盘路径配置的虚拟路径,与磁盘选项对应。数据两级目录服务器在每个虚拟磁盘路径下创建的两级目录,用于存储数据文件。1.什么是FastDFS FastDFS是用 c 语言编写的一款开源的分布式文件系统。FastDFS 为互联网量身定制, 充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等...

    CoderDock 评论0 收藏0
  • 农民进城之初尝FastDFS搭建图片分布式系统

    摘要:新建文件夹尝试启动为默认监听端口看到已经在监听端口,说明启动成功。修改修改为的路径,我这里为修改为你的监听的和端口号,我这里为保存退出。即为上传图片成功 于前不久,公司论坛的图片终于将服务器给挤爆了,已经达到了恐怖的34G,服务器总容量才40G。如果直接加硬盘的话,那么discuz中的逻辑几乎就要全改,所以不行。如果将所有图片扔到对象存储的话,那么这会是一大笔支出(虽然钱不是我出),所...

    LiveVideoStack 评论0 收藏0
  • 农民进城之初尝FastDFS搭建图片分布式系统

    摘要:新建文件夹尝试启动为默认监听端口看到已经在监听端口,说明启动成功。修改修改为的路径,我这里为修改为你的监听的和端口号,我这里为保存退出。即为上传图片成功 于前不久,公司论坛的图片终于将服务器给挤爆了,已经达到了恐怖的34G,服务器总容量才40G。如果直接加硬盘的话,那么discuz中的逻辑几乎就要全改,所以不行。如果将所有图片扔到对象存储的话,那么这会是一大笔支出(虽然钱不是我出),所...

    Cheriselalala 评论0 收藏0
  • 图片务器------FastDFS

    摘要:可以将称为追踪服务器或调度服务器。虚拟磁盘路径配置的虚拟路径,与磁盘选项对应。数据两级目录服务器在每个虚拟磁盘路径下创建的两级目录,用于存储数据文件。链接密码把图片服务器添加到中。要使用图片服务器,需要保证网络配置不变。 什么是FastDFS? FastDFS是用c语言编写的一款开源的分布式文件系统。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高...

    array_huang 评论0 收藏0
  • 图片务器------FastDFS

    摘要:可以将称为追踪服务器或调度服务器。虚拟磁盘路径配置的虚拟路径,与磁盘选项对应。数据两级目录服务器在每个虚拟磁盘路径下创建的两级目录,用于存储数据文件。链接密码把图片服务器添加到中。要使用图片服务器,需要保证网络配置不变。 什么是FastDFS? FastDFS是用c语言编写的一款开源的分布式文件系统。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高...

    solocoder 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<