zoukankan      html  css  js  c++  java
  • FastDFS部署安装全过程

    你好!欢迎阅读我的博文,你可以跳转到我的个人博客网站,会有更好的排版效果和功能。
    此外,本篇博文为本人Pushy原创,如需转载请注明出处:https://pushy.site/posts/1532055928

    1. 准备工作

    1.1 下载工具

    该部署教程的所有工具都能在https://pan.baidu.com/s/1U8nXJycYqGo1ChStbszr1w找到

    1.2 安装libevent

    libevent是一个基于事件触发的网络库,能够对并发编程提供支持,避免竞态条件,同时具有高性能、由时间驱动的优点。

    $ sudo apt-get install libevent-dev
    

    2. 开始部署

    2.1 安装libfastcommon

    解压libfastcommon后进入文件进行编译:

    $ unzip libfastcommon-master.zip
    $ cd libfastcommon-master
    $ ./make
    $ sudo ./make install
    

    2.2 安装Tracker服务

    解压fastdfs压缩包进入文件夹进行编译:

    $ tar -zxvf fastdfs-5.10.tar.gz
    $ ./make.sh
    $ sudo ./make.sh install
    

    编译完了之后/etc/fdfs文件夹下会有Fastdfs的配置文件,如果没有该文件夹,则把FastDFS根目录下的/conf目录下的所有的配置文件都复制到/etc/fdfs

    /etc/fdfs

    配置Tracker

    文件下下的tracker.conf.sample是配置的实例文件,需要复制一份并命名为tracker.conf,然后修改配置文件:

    $ sudo cp tracker.conf.sample tracker.conf
    $ sudo vim tracker.conf
    

    tracker.conf

    base_path修改为自己的路径,并且该绝对路径必须存在,这里修改为/home/pushy/fastdfs,修改好了之后保存文件。

    启动Tracker

    $ sudo /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
    

    启动完成后,通过netstat -unltp查看端口的监听情况,可以看到22122端口正常被监听,说明Tracker服务安装成功了:

    netstat -unltp

    2.3 安装Storage服务

    配置storage

    同样复制storage.conf.sample文件为storage.conf到当前文件夹,并且修改配置文件:

    $ sudo cp storage.conf.sample storage.conf
    $ sudo vim storage.conf
    
    • 修改storage服务日志存放路径base_path,路径必须存在,这里修改为/home/pushy/fastdfs

    storage-base-page

    • 修改图片保存的路径store_path0,路径必须存在,这里修改为/home/pushy/fastdfs;然后修改指定Tracker服务器的ip及端口号,这里的ip号不能修改为localhost,而是通过ifconfig查看的局域网ip,端口默认为22122

    storage-path-traker-server

    启动storage服务

    $ sudo /usr/bin/fdfs_storaged /etc/fdfs/storage.conf
    

    同样通过netstat -unltp命令查看storege服务23000端口的监听情况,如果正常监听则说明启动成功

    ifconfig

    我们安装配置并启动了 Tracker 和 Storage 服务,也没有报错了。那他俩是不是在通信呢?我们可以监视一下:

    $ /usr/bin/fdfs_monitor /etc/fdfs/storage.conf
    

    如果出现下图的情况则说明安装成功,而且Tracker 和 Storage正常通信。

    have-active

    测试服务

    还是将配置文件复制一份:

    $ sudo cp client.conf.sample client.conf
    $ sudo vim client.conf
    

    修改client.conf配置文件,修改将客户端日志文件保存路径base_path,这里修改为:/home/pushy/fastdfs/client;并且修改Tracker的服务器IP和地址。

    client-conf

    执行命令进行上传测试:

    $ /usr/bin/fdfs_upload_file /etc/fdfs/client.conf ~/test.jpg
    

    如果返回ID号则测试成功

    group1/M00/00/00/wKiRiVtQBwmAF4AEACsWhwfBzc0490.jpg
    

    3. 安装 Nginx 和配置映射

    网上的大多数教程都手动编译Nginx并且添加fastdfs-nginx-module插件,实际上不需要该插件也是可以正常的映射,访问图片的。

    3.1 安装Nginx

    $ sudo apt-get install nginx
    

    3.2 配置映射

    $ sudo cd /etc/nginx/conf.d
    $ sudo vim fastdfs.conf
    

    添加下面的server配置,直接通过alias映射到storage的路径下:

    server {
            listen 80;
            server_name storage.example.com;
            location /group1/M00/ {
            		# 这里配置前面配置的storage data的路径
                    alias /home/pushy/fastdfs/data/;
            }
    }
    

    重启Nginx:

    $ nginx -s reload
    

    重启好了之后就可以通过http://storage.example.com/group1/M00/00/00/wKiRiVtQBwmAF4AEACsWhwfBzc0490.jpg访问到图片了

    参考资料

    Linux下FastDFS图片服务器的搭建

    FastDFS安装全过程记录

    FastDFS之——集群的安装、 配置、 使用

    Nginx安装

  • 相关阅读:
    Python 读写文件
    OpenSSL.SSL.Error: [('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')](ssl证书问题)
    python获取前年日期
    mysql查询表中最后一条记录
    【mysql】pymysql.err.InterfaceError Interface Error: (0, '')
    centos7中python3.6报错ModuleNotFoundError: No module named '_ssl' 或者 Max retries exceeded with url: / (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.",))
    mysql判断是否包含某个字符的方法和修改表中指定字段
    Bitbucket与git上传源码的使用方法
    linux安装python3
    新MySQL查询和删除重复记录
  • 原文地址:https://www.cnblogs.com/Pushy/p/9340413.html
Copyright © 2011-2022 走看看