阿里云服务器搭建fastdfs

fastdfs安装介绍

  1. 环境准备

    1. 本人的阿里云服务器CentOS Linux release 7.9.2009 (Core)版本(通过命令cat /etc/redhat-release查看自己的Linux版本信息)
    2. 过程中使用的软件包都是从github上面下载的,也可以依赖服务器的wget工具远程拉取软件包
    3. 这里推荐一篇github的安装篇幅https://github.com/happyfish100/fastdfs/wiki,本人在按照这个文章按照时一直出现问题,所以才写了这篇文章记录一下成功安装的过程
    4. 最重要的一点,后续配置nginx进行访问url时,切记要开放端口访问权限,如果不想只单独开放一个端口访问,那就使用systemctl stop firewalld把防火墙关闭了,直到本地Win10电脑能通过浏览器访问到fastdfs的文件时才算成功。
  2. 开启安装

    1. 先执行下面的命令,安装所需要的环境和工具,一般来说,使用服务器执行下面的命令安装工具是不会出现问题的,如果出现问题,那就另求别路。

      yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel wget vim -y

    2. 新建/home/dfs目录用来存储数据

      mkdir /home/dfs

    3. 切换到/usr/local/src目录下,该目录专门用来存储本次过程使用的安装包

      cd /usr/local/src

    4. 下载并安装libfastcommon,下面有两种方式
      1. 通过git工具克隆(过程中可能会卡死,可以使用第二种方式)

        git clone https://github.com/happyfish100/libfastcommon.git --depth 1

      2. 通过https://github.com/happyfish100/libfastcommon.git来到GitHub页面并下载zip压缩包,通过传输工具(传输工具我用的Xftp)传输到服务器的/usr/local/src目录。
      3. 此时我们在/usr/local/src目录,对于zip压缩包而言使用unzip 压缩包名称就可以进行解压缩,解压之后进入libfastcommon目录,执行./make.sh,之后执行./make.sh install(也可以使用一条./make.sh && ./make.sh install命令完成两步操作)(这里的其他文件先不要理会))
        阿里云服务器搭建fastdfs_第1张图片
      4. 退出libfastcommon目录,准备安装下一个内容
    5. 下载并安装fastdfs,下面有两种方式
      1. 先执行下面的命令,安装所需要的fastdfs安装包,或者进入其github地址下载zip压缩包并手动上传。

        git clone https://github.com/happyfish100/fastdfs.git --depth 1

      2. 当前在/usr/local/src目录执行下面的命令

        unzip fastdfs-master.zip #解压
        cd fastdfs-master #进入解压目录
        ./make.sh #编译
        ./make.sh install #安装

      3. 执行完毕之后退回原目录
    6. 注意:上面的流程我在试了多个fastdfs版本之后都没有问题,如果有问题,说明问题并不是常见的问题,只能自己去百度对症下药,从下面的环节开始,就出现了几个比较常见的问题(我也是去搜索了很久)
    7. 配置fastdfs
      1. 一开始我是依靠于上面的github文章安装,文章地址https://github.com/happyfish100/fastdfs/wiki,此时就应该执行下面的命令,将配置文件拷贝出来一份
        阿里云服务器搭建fastdfs_第2张图片
      2. 在终端执行命令ll /etc/fdfs就可以看到,我们当前的目录中,是不存在tracker.conf.sample,storage.conf.sample,client.conf.sample三个文件的,而是存在tracker.conf,storage.conf,client.conf三个文件,所以我们这里不用执行上面三个命令
      3. 我们只需要执行下面两条命令就行了

        cp /usr/local/src/fastdfs-master/conf/http.conf /etc/fdfs/ #供nginx访问使用
        cp /usr/local/src/fastdfs-master/conf/mime.types /etc/fdfs/ #供nginx访问使用

      4. 上面就先到这里
    8. 下载并安装fastdfs-nginx-module
      1. git下载命令注意此刻所处的目录依旧是/usr/local/src目录

        git clone https://github.com/happyfish100/fastdfs-nginx-module.git --depth 1

      2. 执行下面的命令,注意这个目录解压出来可能不是fastdfs-nginx-module的命名,记得使用mv 解压后命名 fastdfs-nginx-module命令重命名一下。

        cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs

      3. 此刻执行ll /etc/fdfs命令,结果如下
        阿里云服务器搭建fastdfs_第3张图片
    9. 下载并安装nginx
      1. git命令(这里直接用wget下载,速度很快的)

        wget http://nginx.org/download/nginx-1.15.4.tar.gz

      2. 解压(此时依旧在/usr/local/src目录)

        tar -zxvf nginx-1.15.4.tar.gz

      3. 进入nginx解压目录,并执行下面的命令

        cd nginx-1.15.4/
        ./configure --add-module=/usr/local/src/fastdfs-nginx-module/src/

      4. 直到遇到下面的情况,error因为是特殊关键字所以会爆红,这个不管。

        Configuration summary
        +using system PCRE library
        +OpenSSL library is not used
        +using system zlib library

        nginx path prefix: “/usr/local/nginx”
        nginx binary file: “/usr/local/nginx/sbin/nginx”
        nginx modules path: “/usr/local/nginx/modules”
        nginx configuration prefix: “/usr/local/nginx/conf”
        nginx configuration file: “/usr/local/nginx/conf/nginx.conf”
        nginx pid file: “/usr/local/nginx/logs/nginx.pid”
        nginx error log file: “/usr/local/nginx/logs/error.log”
        nginx http access log file: “/usr/local/nginx/logs/access.log”
        nginx http client request body temporary files: “client_body_temp”
        nginx http proxy temporary files: “proxy_temp”
        nginx http fastcgi temporary files: “fastcgi_temp”
        nginx http uwsgi temporary files: “uwsgi_temp”
        nginx http scgi temporary files: “scgi_temp”

      5. 此时在该目录下执行最后一条命令即可

        make && make install

  3. 配置信息

    1. 上面的后半部分安装如果出现问题了,只能自己去找答案了,反正我是没有安装方面的问题
    2. 配置tracker
      1. 执行命令

        vim /etc/fdfs/tracker.conf

      2. 在配置文件中找到base_path字段,整体修改为base_path = /home/dfs,这里的/home/dfs是文章一开始就让大家创建的目录,用于存储数据(这个过程使用到vim,没学过的我也没辙)
    3. 配置storage
      1. 执行命令

        vim /etc/fdfs/storage.conf

      2. 在配置文件找到下面几个字段进行修改(下面列出的字段都是需要修改,并且是修改之后的值),修改成和我一样就行了,我也是参照github那篇文章

        base_path=/home/dfs # 数据和日志文件存储根目录
        store_path0=/home/dfs # 第一个存储目录
        tracker_server=本机ip:22122 # 本机ip改成自己服务器的ip
        http.server_port=9000

      3. 上面的配置信息和文章有两点我要声明一下,第一个就是tracker_server的取值,本机ip填写的就是服务器的公网ip,第二个就是http.server_port我这里设置为9000,原始是8888端口,因为8888端口已经被我的服务器某个软件使用,所以我这里修改一下,这里修改成9000,后面有个地方注意一下同步修改就行了,后面再说
    4. 启动tracker和storage,命令如下
      这里就是我主要出错的地方,我们上面的安装方式,只需要通过命令执行我们之前创建的etc/fdfs/tracker.conf文件即可(storage同理),別的教程没有用下面的命令,是我在结合其他地方知道的

      fdfs_trackerd /etc/fdfs/tracker.conf
      fdfs_storaged /etc/fdfs/storage.conf

    5. 测试结果
      1. 配置client信息

        vim /etc/fdfs/client.conf

      2. 需要修改的配置信息如下

        base_path=/home/dfs
        tracker_server=本机ip:22122 #本机ip修改为服务器的公网ip

      3. 执行测试命令(该命令是github那篇参考文章的)
        测试的时候关闭防火墙systemctl stop firewalld,并且在阿里云控制台开放安全组的端口,我这里测试太多次,导致开了很多端口,这里就列举给大家参考,我开放的端口有9000、22122、80、443、8888,特别注意,这里的9000就是我们上面设置过的端口,这里必须开放

        fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/nginx-1.15.4.tar.gz

      4. 执行成功之后会出现下面的结果,说明我们存储成功了,这里保存路径,留在后面测试

        group1/M00/00/00/L3C-WmKIVtGATeOiAA-itrfn0m4.tar.gz

  4. 配置nginx访问

    1. 修改mod_fastdfs.conf配置文件

      vim /etc/fdfs/mod_fastdfs.conf

    2. 需要修改的内容如下

      tracker_server=本机ip:22122 #本机ip修改为服务器ip
      url_have_group_name=true
      store_path0=/home/dfs

    3. 配置nginx配置文件

      vim /usr/local/nginx/conf/nginx.conf

    4. 找到nginx本身就有的server,其端口为80,如下图所示
      阿里云服务器搭建fastdfs_第4张图片

    5. 往下滚,找到第一个server的结束大括号,然后添加我们的配置,自己看着图片对应的添加,格式太丑了也没事,就按照下面的做(自己调整缩进,原谅我不会使用csdn展示代码)

      server {
      listen 9000; ## 该端口为storage.conf中的http.server_port相同
      server_name localhost;
      location ~/group[0-9]/ {
      ngx_fastdfs_module;
      }
      error_page 500 502 503 504 /50x.html;
      location = /50x.html {
      root html;
      }
      }

      阿里云服务器搭建fastdfs_第5张图片

    6. 最后一个注意点就是上面的文件,监听的端口为9000,和一开始我们在/etc/fdfs/storage.conf文件设置的9000端口保持一致

    7. 启动nginx
      我就是因为下面命令报的错误:8888端口被占用,才采用9000端口

      /usr/local/nginx/sbin/nginx

    8. 通过ps -ef|grep nginx查看nginx是否真正启动,在win10电脑浏览器访问http://虚拟机ip:9000/成功访问到nginx欢迎页面,访问http://虚拟机ip:9000/group1/M00/00/00/xx.tar.gz成功则弹出我们之前设置好的nginx安装包,代表fastdfs正常工作。

你可能感兴趣的:(fastdfs,服务器,阿里云,git)