云服务器或vmware环境下centos7系统配置安装fastdfs分布式文件服务器及配置nginx访问文件

1、首先确定环境是否已经具有了基本的gcc等,可使用如下将基本编译环境构建好

yum install gcc libevent libevent-devel -y

 

2、通过下面语句获取到libfastcommon等相关包,若在centos7中不好使,则直接复制下方链接即可在浏览器中进行下载,之后将包上传到centos7中即可,我用的xftp来进行传输。
获取libfastcommon包:wget  https://github.com/happyfish100/libfastcommon/archive/V1.0.38.tar.gz  

获取fastdfs包: wget  https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz

若不好使:可通过 链接:https://pan.baidu.com/s/1keVe1-h8d4QXN3gbUnSy2g 
                              提取码:q6tv 

移动到一个合适的位置:

云服务器或vmware环境下centos7系统配置安装fastdfs分布式文件服务器及配置nginx访问文件_第1张图片

之后进行解压:可以使用     注(  mv  文件名称  想要的名称) ,这个命令修改文件名称 

进入文件夹

云服务器或vmware环境下centos7系统配置安装fastdfs分布式文件服务器及配置nginx访问文件_第2张图片

执行 ./make.sh

./make.sh install

得到如下:

云服务器或vmware环境下centos7系统配置安装fastdfs分布式文件服务器及配置nginx访问文件_第3张图片

针对另一个fastdfs包同样如上述般操作

tar -zxvf 包名

进入文件夹:./make.sh

                     ./make.sh install

之后在etc/fdfs文件夹会有几个文件如下:

云服务器或vmware环境下centos7系统配置安装fastdfs分布式文件服务器及配置nginx访问文件_第4张图片

其中需要对client、storage.conf.sampel、tracker.conf.sample进行一些修改,而client.conf.sample主要是针对一些前期测试之用

接下来对tracker.conf.sample进行修改,首先去除sample后缀得到tracker.conf文件,进行下图所示修改

云服务器或vmware环境下centos7系统配置安装fastdfs分布式文件服务器及配置nginx访问文件_第5张图片

接下来进行修改storage.conf文件

1.

云服务器或vmware环境下centos7系统配置安装fastdfs分布式文件服务器及配置nginx访问文件_第6张图片

2.

云服务器或vmware环境下centos7系统配置安装fastdfs分布式文件服务器及配置nginx访问文件_第7张图片

修改完成后进行下一步操作

1.执行命令:fdfs_trackerd /etc/fdfs/tracker.conf ,若出现报错一般情况下,可能是conf配置的路径的文件夹并未创建,所以进行创建即可

2.执行命令 netstat -unltp | grep fdfs查看tracker是否启动,可以看到22122端口的tracker服务已启动

3.执行fdfs_storaged /etc/fdfs/storage.conf,且执行查看端口服务情况,可以看到已经成功启动

 4.[若已经启动则不用再使用该命令,这只是一个另一个开启的方式]当然其还有其他方式启动相应storage的服务,比如下方可以看到 /etc/init.d文件夹有含有相应的脚本指令,故而可以执行  /etc/init.d/fdfs_storaged start进行启动

云服务器或vmware环境下centos7系统配置安装fastdfs分布式文件服务器及配置nginx访问文件_第8张图片

5.待成功启动服务后,可以看到在方才设置的文件夹路径(如/opt/fastdfs/files ) 下已经生成了相应的文件data文件

云服务器或vmware环境下centos7系统配置安装fastdfs分布式文件服务器及配置nginx访问文件_第9张图片

打开files下的data文件可以看到自动生成了如下文件夹:

云服务器或vmware环境下centos7系统配置安装fastdfs分布式文件服务器及配置nginx访问文件_第10张图片

6.现在进行测试一下,当然首先需要修改一下client.conf

云服务器或vmware环境下centos7系统配置安装fastdfs分布式文件服务器及配置nginx访问文件_第11张图片

7.将client.conf文件修改完成后就可以开始测试了,首先随便在一个什么位置,使用vim新建一个testa.txt文件,随便写点什么

云服务器或vmware环境下centos7系统配置安装fastdfs分布式文件服务器及配置nginx访问文件_第12张图片

之后执行fdfs_test /etc/fdfs/client.conf upload testa.txt  不报错的情况,可有下方,更多的信息如group 及 M00 、url路径这些信息在这里便没有展示,如报错,则可能是端口23000 于22122未开放,则进行开放端口即可

若是阿里云服务器的话,在本地开放之后还需在阿里云的ecs控制台网站设置相应的安全组,在其中同样的将端口进行开放即可

云服务器或vmware环境下centos7系统配置安装fastdfs分布式文件服务器及配置nginx访问文件_第13张图片

**************************************

1.结束服务的话,使用kill -9 进程号 也可 ,当然最好的还是用

tracker  : fdfs_trackerd /etc/fdfs/tracker.conf  stop

storage : fdfs_storaged  /etc/fdfs/storage.conf  stop

2.进行查看上传的文件内容,在上传成功后便会生成一堆信息,包含了group_name等信息,需要知道文件名上传后会自动生成新的名称,下方是我的文件名称

下载文件:fdfs_test /etc/fdfs/client.conf download   group1(组名group_name)    (远程文件名remote_filename)  M00/00/00/rBGmz2BOuMiAEfXcAAAAJLEbqVI542.txt

 完整命令:fdfs_test   /etc/fdfs/client.conf download group1    M00/00/00/rBGmz2BOuMiAEfXcAAAAJLEbqVI542.txt

**************************************************************

配置nginx

1.获取nginx包,及fastdfs-nginx-module包

2.进入fastdfs-nginx-module解压后的文件夹中,使用pwd获取文件夹路径

3.进入nginx文件夹中可看到configure,如果想稳妥一点安装的话最好使用 fastdfs-nginx-module版本为1.20之前的,不然似乎会出现一些错误,虽然也能解决,但还是选择稳妥的好

使用该命令:    ./configure  --prefix=/usr/local/nginx_fdfs  --add-module=/usr/local/fastdfs/fastdfs-nginx-module-master/src

其中prefix是指定nginx安装路径,-add-module则是添加模块指定了fastdfs-nginx-module包及src的路径

4.当 ./configure.....................  编译完成后,

使用 : make install 

完成后可以进入 cd /usr/local下可以看到已经出现了一个nginx_fdfs文件夹

5.进入之前的fastdfs-nginx-module文件夹下,编辑mod_fastdfs.conf

云服务器或vmware环境下centos7系统配置安装fastdfs分布式文件服务器及配置nginx访问文件_第14张图片

修改mod_fastdfs.conf

注意 1.修改路径时,nginx_mod这个是新创建的文件夹,需要自己创建即可,图片已有序号

云服务器或vmware环境下centos7系统配置安装fastdfs分布式文件服务器及配置nginx访问文件_第15张图片

云服务器或vmware环境下centos7系统配置安装fastdfs分布式文件服务器及配置nginx访问文件_第16张图片

云服务器或vmware环境下centos7系统配置安装fastdfs分布式文件服务器及配置nginx访问文件_第17张图片

到此mod_fastdfs.conf的配置ok。

6.将mod_fastdfs.conf 文件上传到 /etc/fdfs下,即和之前配置fastdfs时tracker.conf等一样的位置

云服务器或vmware环境下centos7系统配置安装fastdfs分布式文件服务器及配置nginx访问文件_第18张图片

7.如同使用nginx与tomcat时候一样nginx的配置文件也需要做出一些配置,进入新生成的 nginx_fdfs 文件夹中的conf文件夹编辑nginx.conf

云服务器或vmware环境下centos7系统配置安装fastdfs分布式文件服务器及配置nginx访问文件_第19张图片

进行配置nginx.conf 如下图,可以看出group 与 M0 都是熟悉的面孔

云服务器或vmware环境下centos7系统配置安装fastdfs分布式文件服务器及配置nginx访问文件_第20张图片

8.待一切ok,执行如下:

可以看到nginx:master  与 nginx:worker 都启动了

9.测试访问:

  (1)使用vim新建一个文件,起名 anew.txt

云服务器或vmware环境下centos7系统配置安装fastdfs分布式文件服务器及配置nginx访问文件_第21张图片

(2)测试上传,使用命令fdfs_test   /etc/fdfs/client.conf upload anew.txt 上传

云服务器或vmware环境下centos7系统配置安装fastdfs分布式文件服务器及配置nginx访问文件_第22张图片

(3)访问链接:可以看到成功访问了该文件

云服务器或vmware环境下centos7系统配置安装fastdfs分布式文件服务器及配置nginx访问文件_第23张图片

10.可能出现的错误,在启动nginx的时候未曾启动 nginx : worker 

这种情况的话就就去打开 nginx的log文件夹里面查看一下 error.log具体问题具体分析,我这里之前出现的问题是fastdfs-5.11这个文件下conf中的两个文件 http.conf,mime.types找不到,所以可以将这个两个文件移动到 /etc/fdfs 中与之前的 tracker.conf等处于同一个文件夹,之后再执行启动nginx即可

云服务器或vmware环境下centos7系统配置安装fastdfs分布式文件服务器及配置nginx访问文件_第24张图片

云服务器或vmware环境下centos7系统配置安装fastdfs分布式文件服务器及配置nginx访问文件_第25张图片

 

**********************************************************

1.关闭所有nginx进程: killall  -9  nginx 

2.查看进程号,ps  -ef  | grep nginx

3.启动nginx,进入nginx/sbin下 : ./nginx 即可

********************************************************

在java工程下使用fastdfs上传,下载,及删除操作

1.新建一个以maven创建的java工程,在pom.xml下引入如下依赖

云服务器或vmware环境下centos7系统配置安装fastdfs分布式文件服务器及配置nginx访问文件_第26张图片

2.在resource中新建一个fasdfs.properties写入如下自己的服务器ip地址,端口为22122,

云服务器或vmware环境下centos7系统配置安装fastdfs分布式文件服务器及配置nginx访问文件_第27张图片

3.写java代码:


public class FastDFSUtil {

	  public static void main(String[] args) throws IOException, MyException
	  {
		  //upload();  //上传文件
		 // download();   //下载文件
		  delfile();     //删除文件
	  }
	  
	  public static void upload() throws IOException, MyException
	  {   //读取配置文件
		  ClientGlobal.init("other-config.properties");
		  TrackerClient tc = new TrackerClient();
		  TrackerServer ts = tc.getConnection();
		  StorageServer ss = tc.getStoreStorage(ts);
		  //定义Storage的客户端对象,需要使用这个对象来完成具体的的文件上传,下载和删除操作
		
		  StorageClient sc = new StorageClient();
		  //文件上传
		  //参数1:为需要上传的文件的绝对路径
		  //参数2:为需要上传的文件的扩展名
		  //参数3:为文件的属性文件通常不上传
		  //返回一个String数组,这个重要,建议存入数据库包含 group1和文件名称
		  String[] result = sc.upload_file("D:/photos/testa.jpg","jpg", null);
		  for(String str:result)
		  {
			  System.out.println(str);
		  }
		  
		  ss.close();
		  ts.close();
		  
	  } 
	  
	  
	  /*
	   * 下载
	   */
	  public static void download() throws IOException, MyException {
		  
		  //读取配置文件
		  ClientGlobal.init("other-config.properties");
		  TrackerClient tc = new TrackerClient();
		  TrackerServer ts = tc.getConnection();
		  StorageServer ss = tc.getStoreStorage(ts);
		  //定义Storage的客户端对象,需要使用这个对象来完成具体的的文件上传,下载和删除操作
		  //
		  StorageClient sc = new StorageClient();
		  //文件下载
		  //返回0表示文件下载成功
		  int res = sc.download_file("group1","M00/00/00/rBGmz2BTMR-ADA-5AAIIAHyF9Us835.jpg","D:/photos/loada.jpg");
		  System.out.println(res);
		  ss.close();
		  ts.close();
		  
	  }
	  
	  
	  //文件删除
	  public static void delfile() throws IOException, MyException {
		  //读取配置文件
		  ClientGlobal.init("other-config.properties");
		  TrackerClient tc = new TrackerClient();
		  TrackerServer ts = tc.getConnection();
		  StorageServer ss = tc.getStoreStorage(ts);
		  //定义Storage的客户端对象,需要使用这个对象来完成具体的的文件上传,下载和删除操作
		  //
		  StorageClient sc = new StorageClient();
		  //删除文件
		  //0表示删除成功
		  int res = sc.delete_file("group1","M00/00/00/rBGmz2BTMR-ADA- 
          5AAIIAHyF9Us835.jpg");
		  System.out.println("删除成功0 : "+res);
		  ss.close();
		  ts.close();
		  
	  }
	  
}

 

你可能感兴趣的:(centos,fastdfs,ssm,nginx)