本地FastDFS图片服务器搭建

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

使用场景:图片上传

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

FastDFS

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

工具

mac系统c++

  • helm是一个能够修改mac hosts文件的工具
  • virtualbox centos7 虚拟机
  • FileZilla 是mac上的一个ftp服务器,能够方便的操做虚拟机,对于linux指令不是很熟悉的同窗可使用,但不要依赖,指令才是王道

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

图片描述

先别启动,点设置看一下网络链接,应该是这个样子的,而后在开启虚拟机
图片描述web

为了方便,可使用root的帐号密码,这样能够方便不少。vim


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

能够发现是没有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开机启动
最后在查看一下状态是否肯定关闭了,简单暴力,固然仅限于懒人开发,真实环境确定不能这么作

准备稳当以后关闭虚拟机,打开设置->网络
图片描述tomcat

修改成桥接网卡在开机,输入ip addr
图片描述服务器

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

安装程序

这时咱们安装Filezilla这个软件
图片描述

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

安装libfastcommonV1.0.7工具包

  1. 解压缩
  2. ./make.sh
  3. ./make.sh install

安装Tracker

  1. 解压缩FastDFS_V5.05
  2. ./make.sh
  3. ./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去掉

clipboard.png

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目录下,并修改

clipboard.png
图片描述
clipboard.png
图片描述

去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

相关文章
相关标签/搜索