• fastdfs5.11


    --软件包下载 for centos7
    https://pan.baidu.com/s/16ZpdAZk9IxWibNkG3ltqsg    提取码:12ie
    --1.1 安装libfastcommon
    --上传软件包到/opt
    cd /opt
    unzip libfastcommon-master.zip
    cd libfastcommon-master
    ./make.sh
    ./make.sh install
    
    ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
    --File exists
    ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
    ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
    ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
    
    --1.2安装FastDFS
    cd /opt
    unzip fastdfs-5.11_2.zip
    cd fastdfs-5.11
    ./make.sh
    ./make.sh install
    cd /etc/fdfs/
    cp client.conf.sample client.conf
    cp storage.conf.sample storage.conf
    cp tracker.conf.sample tracker.conf
    
    1.3安装tracker
    mkdir -p /usr/yong.cao/dev/fastdfs/fastdfs_tracker
    vim /etc/fdfs/tracker.conf
    
    disabled=false #默认开启
    port=22122 #默认端口号
    base_path=/usr/yong.cao/dev/fastdfs/fastdfs_tracker #我刚刚创建的目录
    http.server_port=6666 #默认端口是8080
    
    service fdfs_trackerd start
    --如果不能启动,或提示用systemctl可改用命令:
    #systemctl start fdfs_trackerd
    
    --目录中多了data和log两个目录
    ll /usr/yong.cao/dev/fastdfs/fastdfs_tracker/
    chmod +x /etc/rc.d/rc.local
    vim /etc/rc.d/rc.local
    
    service fdfs_trackerd start
    
    netstat -unltp|grep fdfs
    
    --1.4 安装storage
    mkdir -p /usr/yong.cao/dev/fastdfs/fastdfs_storage_data
    mkdir -p /usr/yong.cao/dev/fastdfs/fastdfs_storage
    ll /usr/yong.cao/dev/fastdfs/
    
    --base_path,base_path0,store_path0修改为正确的路径web可以访问图片
    vim /etc/fdfs/storage.conf
    
    disabled=false
    group_name=group1 #组名,根据实际情况修改
    port=23000 #设置storage的端口号,默认是23000,同一个组的storage端口号必须一致
    base_path=/usr/yong.cao/dev/fastdfs/fastdfs_storage #设置storage数据文件和日志目录
    store_path_count=1 #存储路径个数,需要和store_path个数匹配
    base_path0=/usr/yong.cao/dev/fastdfs/fastdfs_storage/data #实际文件存储路径
    tracker_server=192.168.92.97:22122 #我CentOS7的ip地址
    http.server_port=8888 #设置 http 端口号
    
    #修改store_path0
    store_path0=/usr/yong.cao/dev/fastdfs/fastdfs_storage/data
    
    ln -s /usr/bin/fdfs_storaged /usr/local/bin
    service fdfs_storaged start
    --如果不能启动,或提示用systemctl可改用命令:
    #systemctl start fdfs_storaged
    vim /etc/rc.d/rc.local
    
    service fdfs_storaged start
    
    netstat -unltp | grep fdfs
    
    --校验整合,storage是否注册到了tracker中去
    /usr/bin/fdfs_monitor /etc/fdfs/storage.conf
    
    --成功后可以看到:
    ip_addr = 192.168.92.97 (localhost.localdomain) ACTIVE
    
    
    vim /etc/fdfs/client.conf
    
    base_path=/usr/yong.cao/dev/fastdfs/fastdfs_tracker #tracker服务器文件路径
    tracker_server=192.168.92.97:22122 #tracker服务器IP地址和端口号
    http.tracker_server_port=6666 # tracker 服务器的 http端口号,必须和tracker的设置对应起来
    
    --1.5 FastDFS整合nginx
    --测试
    mkdir -p /usr/yong.cao/ftp
    --上传architecture-V4.8.jpg到/usr/yong.cao/ftp
    /usr/bin/fdfs_upload_file  /etc/fdfs/client.conf  /usr/yong.cao/ftp/architecture-V4.8.jpg
    --成功后会返回图片的路径:group1/M00/00/00/architecture-V4.8.jpg
    组名:group1
    磁盘:M00
    目录:00/00
    文件名称:wKhcYV5uHJuAFbgKACFk3PeyYRw5.8.jpg
    
    --data下有256个1级目录,每级目录下又有256个2级子目录,总共65536个文件
    cd /usr/yong.cao/dev/fastdfs/fastdfs_storage_data
    ls
    cd 00
    ls
    
    --http协议,我们去浏览器用http请求访问一下刚刚的图片:此时无法访问,需要集成nginx模块做反向代理
    http://192.168.92.97:8888/group1/M00/00/00/wKhcYV5uHJuAFbgKACFk3PeyYRw5.8.jpg
    
    --FastDFS的nginx模块安装
    yum -y install pcre pcre-devel
    yum -y install zlib zlib-devel
    yum -y install openssl openssl-devel
    
    mkdir -p /usr/yong.cao/dev/nginx
    mv nginx-1.12.0.tar.gz /usr/yong.cao/dev/nginx
    mv fastdfs-nginx-module-1.20.zip /usr/yong.cao/dev/nginx
    cd /usr/yong.cao/dev/nginx/
    tar -zxvf nginx-1.12.0.tar.gz
    --不能用fastdfs-nginx-module-master.zip
    unzip fastdfs-nginx-module-1.20.zip
    
    --设置软连接不可以  ln -s /usr/include /usr/local/include
    vim /usr/yong.cao/dev/nginx/fastdfs-nginx-module-1.20/src/config 修改为,保持原位置不变
    
        ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"
        CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
    
    cd /usr/yong.cao/dev/nginx/nginx-1.12.0
    ./configure --prefix=/usr/local/nginx --add-module=/usr/yong.cao/dev/nginx/fastdfs-nginx-module-1.20/src  #解压后fastdfs-nginx-module所在的位置
    --如果报错的话,很可能是版本的原因
    --/opt/fastdfs-nginx-module-master/src/config文件按照如上修改,解决error:/usr/include/fastdfs/fdfs_define.h:15:27: fatal error: common_define.h: No such file or directory
    --忽略 make[1]: Leaving directory `/usr/yong.cao/dev/nginx/nginx-1.12.0'
    make
    make install
    
    --root /usr/yong.cao/dev/fastdfs/fastdfs_storage_data/data,fastdfs_storage_data修改为fastdfs_storage
    --8888端口应该与/etc/fdfs/storage.conf的http.server_port一致
    vi /usr/local/nginx/conf/nginx.conf
    
    server {
            listen       8888;
            server_name  localhost;
    
            location / {
                root   html;
                index  index.html index.htm;
            }
    
            location ~/group1/M00 {
                root /usr/yong.cao/dev/fastdfs/fastdfs_storage/data;
                ngx_fastdfs_module;
            }
    }
    
    cd /opt/fastdfs-5.11/
    cp http.conf mime.types /etc/fdfs/
    scp /usr/yong.cao/dev/nginx/fastdfs-nginx-module-1.20/src/mod_fastdfs.conf /etc/fdfs/
    
    --fdfs的对应nginx模块的配置,修改为storage.conf对应目录
    vim /etc/fdfs/mod_fastdfs.conf
    
    base_path=/usr/yong.cao/dev/fastdfs/fastdfs_storage  #保存日志目录
    tracker_server=192.168.92.97:22122 #tracker服务器的IP地址以及端口号
    storage_server_port=23000 #storage服务器的端口号
    url_have_group_name = true #文件 url 中是否有 group 名
    store_path0=/usr/yong.cao/dev/fastdfs/fastdfs_storage/data   #存储路径
    group_count = 3 #设置组的个数,事实上这次只使用了group1
    
    --#在文件的最后,设置group
    [group1]
    group_name=group1
    storage_server_port=23000
    store_path_count=1
    store_path0=/usr/yong.cao/dev/fastdfs/fastdfs_storage/data
    store_path1=/usr/yong.cao/dev/fastdfs/fastdfs_storage/data
    
    # group settings for group #2
    # since v1.14
    # when support multi-group, uncomment following section as neccessary
    [group2]
    group_name=group2
    storage_server_port=23000
    store_path_count=1
    store_path0=/usr/yong.cao/dev/fastdfs/fastdfs_storage/data
    
    [group3]
    group_name=group3
    storage_server_port=23000
    store_path_count=1
    store_path0=/usr/yong.cao/dev/fastdfs/fastdfs_storage/data
    
    --ln  -s  /usr/yong.cao/dev/fastdfs/fastdfs_storage_data/data/ /usr/yong.cao/dev/fastdfs/fastdfs_storage_data/data/M00
    ln  -s  /usr/yong.cao/dev/fastdfs/fastdfs_storage/data/ /usr/yong.cao/dev/fastdfs/fastdfs_storage/data/M00
    --启动nginx:
    /usr/local/nginx/sbin/nginx
    --打开web
    http://192.168.92.97:9999
    
    --配置tracker nginx cd /usr/yong.cao/dev/nginx mkdir -p /usr/yong.cao/dev/nginx2 tar -zxvf nginx-1.12.0.tar.gz -C /usr/yong.cao/dev/nginx2/ cd /usr/yong.cao/dev/nginx2/nginx-1.12.0 ./configure --prefix=/usr/local/nginx2 --add-module=/usr/yong.cao/dev/nginx/fastdfs-nginx-module-1.20/src #解压后fastdfs-nginx-module所在的位置 make make install --添加location /group1/M00,注释location / { vim /usr/local/nginx2/conf/nginx.conf upstream fdfs_group1 { server 127.0.0.1:9999; } server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location /group1/M00 { proxy_pass http://fdfs_group1; } #location / { # root html; # index index.html index.htm; #} #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } --启动nginx: /usr/local/nginx2/sbin/nginx --无法访问上传的图片,http测试,请求访问一下刚刚的图片 group1/M00/00/00/wKhcYV5uSBGAU7AbACFk3PeyYRw6.8.jpg /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/yong.cao/ftp/architecture-V4.8.jpg group1/M00/00/00/wKhcYV5uSBGAU7AbACFk3PeyYRw6.8.jpg ll /usr/yong.cao/dev/fastdfs/fastdfs_storage/data/M00/00/00 http://192.168.92.97:8888/group1/M00/00/00/wKhcYV5uHJuAFbgKACFk3PeyYRw5.8.jpg --error:404 Not Found,目录问题,修改/etc/fdfs/storage.conf, /etc/fdfs/mod_fastdfs.conf的目录,并重启文件系统服务 systemctl restart fdfs_storaged http://192.168.92.97:8888/group1/M00/00/00/wKhcYV5uSBGAU7AbACFk3PeyYRw6.8.jpg -------------------------------- 防火墙端口设置 成功了,为什么还要讲这个呢。因为有些同学到这里,还是不到访问,很可能是防火墙没有开启相应的端口。防火墙这个东西我建议大家还是不要关闭,虽然麻烦了一点。 查看已开启的端口: firewall-cmd --zone=public --list-ports 20880/tcp 80/tcp 2181/tcp 23000/tcp 22122/tcp 9999/tcp 这两个端口要开启,到时候下一篇讲fastdfs-client-javas可能会造成无法连接。 9999和80端口是提供给nginx访问的。 开放端口号命令:–permanent表示永久生效,不加的话,重启后不生效 firewall-cmd --zone=public --add-port=23000/tcp --permanent #开户端口号 CentOS7 防火墙相关命令: systemctl enable firewalld.service #开启防火墙 systemctl stop firewalld.service #关闭防火墙(开机会仍会启动) systemctl disable firewalld.service #禁用防火墙(开机后不再启动) -------------------------------------------------------------------------------------------------------------------------- CentOS7搭建FastDFS V5.11分布式文件系统及Java整合详细过程(四) 1.下载fastdfs-client-java 1.1 下载源码 在前面,FastDFS是环境都部署好了,接下来的整合,将变得相当容易。在我之前的教程里,已经将fastdfs-client-java-master下载好了。 如果下载有问题,或者连接时有问题。我这里提供我测试通过,目前最新版本fastdfs-client-java V1.26的下载链接。 1.2 maven install 解压后,在eclipse中导入maven项目:import->maven->existing maven projects。 修改pom.xml 第一个plugins是必需要的,是maven用来编译的插件,第二个是maven打源码包的,可以不要。
    <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <encoding>UTF-8</encoding> <source>${jdk.version}</source> <target>${jdk.version}</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>3.0.1</version> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> </plugins> </build> 直接项目右键,run as maven install 我本地机的是jdk1.8编译的。我在作者的源码中发现,最新版本用jdk1.6就可以编译成功。 install成功后,fastdfs-client-java就成功的被安装到本地仓库了。 [INFO] --- maven-install-plugin:2.4:install (default-install) @ fastdfs-client-java --- [INFO] Installing C:workspacefastdfs-client-java argetfastdfs-client-java-1.27-RELEASE.jar to C:Jerold.Tsaomaven epositoryorgcsourcefastdfs-client-java1.27-RELEASEfastdfs-client-java-1.27-RELEASE.jar [INFO] Installing C:workspacefastdfs-client-javapom.xml to C:Jerold.Tsaomaven epositoryorgcsourcefastdfs-client-java1.27-RELEASEfastdfs-client-java-1.27-RELEASE.pom [INFO] Installing C:workspacefastdfs-client-java argetfastdfs-client-java-1.27-RELEASE-sources.jar to C:Jerold.Tsaomaven epositoryorgcsourcefastdfs-client-java1.27-RELEASEfastdfs-client-java-1.27-RELEASE-sources.jar [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 7.879 s [INFO] Finished at: 2017-06-17T22:24:11+08:00 [INFO] Final Memory: 12M/113M [INFO] ------------------------------------------------------------------------ 2.编写工具类: 把fdfs_client.conf文件复制一份放到自己项目的resource下面: 修改tracker.server,其它的都不用动: tracker_server = 192.168.92.97:22122 我的工具类是这样写的: 3.Spring MVC上传图片 Spring MVC实现上传: 值得注意的是Spring MVC要支持上传文件需要在spring-mvc配置文件中添加: <!-- 图片上传 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"/> 以上实现细节提供原码下载: https://download.csdn.net/download/m0_37797991/9873329
  • 相关阅读:
    获取ios设备的当前IP地址
    swift 日期的基本操作
    iOS ChildViewController使用示例
    Swift 进制转换问题
    objc_msgSend iOS8 EXC_BAD_ACCESS
    objc非主流代码技巧
    黑魔法__attribute__((cleanup))
    判断一个对象是否实现了某方法,而非继承而来
    Controlling How NSThread and NSRunLoop Exit
    万年历-农历-节气
  • 原文地址:https://www.cnblogs.com/buffercache/p/12501465.html
Copyright © 2020-2023  润新知