项目比较老旧,本身修改了一下,跑在mac上,用的IDEA和centos7 64位系统,记录下来,之后上传图片均可以用。java
若是咱们把图片全都放在上传到webapp路径下显然是一种很是low的行为,当项目逐渐增大,可能会布置到多个tomcat上,这时对于图片这种资源的处理最好就是集中存放在一块儿,便于存储和访问。linux
FastDFS是一个开源的轻量级分布式文件系统,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等。
FastDFS主要的有两个角色:tracker和storage。详细的就不在介绍了,网上有不少资料,咱们就来布置一个最简单的一个tracker和一个storage的dfs。nginx
mac系统c++
先别启动,点设置看一下网络链接,应该是这个样子的,而后在开启虚拟机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/路径下面。
这时在你解压缩的路径下会有一个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 查看进程是否启动
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为咱们解析请求
解压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