code学习

FastDFS+Nginx实现文件服务器

FastDFS+Nginx实现文件服务器
FastDFS+Nginx实现文件服务器
FastDFS+Nginx实现文件服务器
FastDFS+Nginx实现文件服务器

准备下载好的软件:

FastDFS+Nginx实现文件服务器
FastDFS+Nginx实现文件服务器

上传到应用服务器:

filezilla.exe工具自选

安装流程:前提:安装fastDFS之前,先配置环境

FastDFS+Nginx实现文件服务器
FastDFS+Nginx实现文件服务器

解压:libfastcommonV1.0.7.tar.gz

FastDFS+Nginx实现文件服务器

进入解压后的目录,进行编译:

FastDFS+Nginx实现文件服务器

开始安装:

FastDFS+Nginx实现文件服务器

安装路径为:

FastDFS+Nginx实现文件服务器
FastDFS+Nginx实现文件服务器

lib64是64位环境:

lib位32位环境

FastDFS+Nginx实现文件服务器

解压FastDFS_v5.05.tar.gz:

FastDFS+Nginx实现文件服务器

解压后目录:

FastDFS+Nginx实现文件服务器

进入FastDFS-5.05目录,执行编译

FastDFS+Nginx实现文件服务器

安装:

FastDFS+Nginx实现文件服务器

安装后目录:

FastDFS+Nginx实现文件服务器

安装到/usr/bin目录下的文件:

FastDFS+Nginx实现文件服务器

查看配置文件:

FastDFS+Nginx实现文件服务器

把FastDFS-5.05/conf下面的所有配置文件复制到etc/fdfs目录下面:

FastDFS+Nginx实现文件服务器

查看/etc/fdfs目录下面的文件:

FastDFS+Nginx实现文件服务器

修改tracker.conf配置文件,进行配置tracker服务

FastDFS+Nginx实现文件服务器

修改前:

FastDFS+Nginx实现文件服务器

修改后:

FastDFS+Nginx实现文件服务器

在/路径下面创建配置文件中的目录:

在/fastdfs目录下面,分别创建stroage和client目录

启动tracker服务:

进入/usr/bin目录下面:执行一下命令:

fdfs_trackerd /etc/fdfs/tracker.conf

格式:fdfs_trackerd +配置文件

FastDFS+Nginx实现文件服务器

如果配置文件修改了:需要重启:执行以下命令:

FastDFS+Nginx实现文件服务器

修改storage.conf文件,配置storage服务

FastDFS+Nginx实现文件服务器

修改前:

FastDFS+Nginx实现文件服务器

修改后:

FastDFS+Nginx实现文件服务器

修改组名称,也就是访问图片的前缀:

修改前:

FastDFS+Nginx实现文件服务器

修改后:

FastDFS+Nginx实现文件服务器

修改图片实际存储的路径:

修改前:

FastDFS+Nginx实现文件服务器

修改后:

FastDFS+Nginx实现文件服务器

storage需要向tracker定时汇报:

修改前:

FastDFS+Nginx实现文件服务器

修改后:

FastDFS+Nginx实现文件服务器

保存退出:

进入/usr/bin目录下面:启动storage服务:

FastDFS+Nginx实现文件服务器

如果修改了配置文件,需要重启:执行下面的命令即可

FastDFS+Nginx实现文件服务器

查看storage进程是否启动成功:

FastDFS+Nginx实现文件服务器

查看tracker进程是否启动成功:

FastDFS+Nginx实现文件服务器

进入/etc/fdfs/目录下:配置client

FastDFS+Nginx实现文件服务器

修改client存储日志的路径:

前:

FastDFS+Nginx实现文件服务器

后:

修改tracker_server:

FastDFS+Nginx实现文件服务器

后:

FastDFS+Nginx实现文件服务器

测试文件上传:

FastDFS+Nginx实现文件服务器

格式:fdfs_test+配置文件+upload+文件地址上传成功:

FastDFS+Nginx实现文件服务器

查看上传的文件:

FastDFS+Nginx实现文件服务器

data:存储文件目录

log:存储日志

刚才用fdfs提供的客户端上传了一个文件到服务服务器上去了。到目前为止fastDFS文件服务器搭建完成了,但仅仅基于一个文件系统,不能用http进行访问,因此,借助nginx+fastDFS即可解决!

解压fastDFS nginx整合包:

FastDFS+Nginx实现文件服务器
FastDFS+Nginx实现文件服务器

修改配置文件:

FastDFS+Nginx实现文件服务器

前:

FastDFS+Nginx实现文件服务器

后:

把local删除即可

FastDFS+Nginx实现文件服务器

下面开始配置nginx:

前提:安装环境

yum install gcc-c++

FastDFS+Nginx实现文件服务器

yum install pcre pcre-devel

FastDFS+Nginx实现文件服务器

yum install zlib zlib-devel

FastDFS+Nginx实现文件服务器

yum install openssl openssl-devel

FastDFS+Nginx实现文件服务器

解压:nginx压缩包

FastDFS+Nginx实现文件服务器

进入nginx-1.12.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=/home/tar/fastDFS/fastdfs-nginx-module/src      
FastDFS+Nginx实现文件服务器

进行编译:

make

进行安装:

make install

FastDFS+Nginx实现文件服务器

将/home/tar/fastDFS/fastdfs-nginx-module/src目录下面的mod_fastdfs.conf文件复制到/etc/fdfs目录下面:

FastDFS+Nginx实现文件服务器

在/etc/fdfs路径下面查看,复制的文件

FastDFS+Nginx实现文件服务器

编辑mod_fastdfs.conf文件,修改存储日志的路径:

FastDFS+Nginx实现文件服务器

前:

FastDFS+Nginx实现文件服务器
FastDFS+Nginx实现文件服务器

去/fastdfs路径下面创建配置的日志存储路径:

FastDFS+Nginx实现文件服务器

进入/etc/fdfs路径下面修改mod_fastdfs.conf配置文件,

将tracker_server地址进行修改:

前:

FastDFS+Nginx实现文件服务器

后:

FastDFS+Nginx实现文件服务器

修改组织名称:

前:

FastDFS+Nginx实现文件服务器

后:

FastDFS+Nginx实现文件服务器

是否需要添加一个叫imooc的组织的名称,默认false,修改为true

注:组织的名称要对应,可以自定义

前:

FastDFS+Nginx实现文件服务器

后:

FastDFS+Nginx实现文件服务器

进入nginx的安装目录:

/usr/local/nginx/conf下,修改nginx.conf的配置文件

添加以下内容:

server{
            listen       88;
            server_name  192.168.43.4;
        
        location /imooc.M00 {
           ngx_fastdfs_module;
             }
        }      
FastDFS+Nginx实现文件服务器

进入nginx目录下面启动nginx:

./nginx -t

注:-t检查nginx配置文件是否正确

FastDFS+Nginx实现文件服务器

级联创建上面不存在的目录:

FastDFS+Nginx实现文件服务器

再次检查nginx配置文件是否配置正确:

FastDFS+Nginx实现文件服务器

启动nginx

FastDFS+Nginx实现文件服务器
FastDFS+Nginx实现文件服务器

如果访问不到nginx,请关闭防火墙即可。

查看防火墙运行状态:

FastDFS+Nginx实现文件服务器

关闭防火墙:

FastDFS+Nginx实现文件服务器

/etc/init.d/iptables stop

​​http://192.168.43.4:88/imooc/00/00/wKgrBFxDFl2AM5sIAAEGyRhnCig191_big.jpg​​浏览器会访问不到:

修改配置文件,将图片路径和storage一直即可

前:

FastDFS+Nginx实现文件服务器

后:

FastDFS+Nginx实现文件服务器

启动服务:

重启tracker服务和storage服务:

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

FastDFS+Nginx实现文件服务器
FastDFS+Nginx实现文件服务器

springboot整合fastdfs

github地址:

​​​https://github.com/tobato/FastDFS_Client​​

引入maven依赖:

<!-- 高性能分布式文件服务器 -->
  <dependency>
    <groupId>com.github.tobato</groupId>
    <artifactId>fastdfs-client</artifactId>
    <version>1.26.2</version>
  </dependency>

<!--  测试工具类-->
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
  </dependency>      

和启动类同级创建FastdfsImporter :

/**
 * 导入FastDFS-Client组件
 *
 * @author tobato
 */
@Configuration
@Import(FdfsClientConfig.class)
// 解决jmx重复注册bean的问题
@EnableMBeanExport(registration = RegistrationPolicy.IGNORE_EXISTING)
public class FastdfsImporter {
    // 导入依赖组件
}      

在application.properties配置文件中添加,fastdfs配置信息:

############################################################
#
# 分布式文件系统fastdfs 配置
#
############################################################
#读取时间
fdfs.so-timeout=1501
#连接超时时间
fdfs.connect-timeout=601
#设置图片高的尺寸(缩略图)
fdfs.thumb-image.height=80
#设置图片宽的尺寸(缩略图)
fdfs.thumb-image.width=80
#tracker服务配置地址列表
fdfs.tracker-list=192.168.43.4:22122      

添加2个工具类:

FastDFS+Nginx实现文件服务器
FastDFS+Nginx实现文件服务器
FastDFS+Nginx实现文件服务器

继续阅读