zoukankan      html  css  js  c++  java
  • fastdfs5.11+centos7.2 按照部署(二)【转载】

    https://files.cnblogs.com/files/xiaojf/nginx-1.12.0.tar.gz

    https://files.cnblogs.com/files/xiaojf/libfastcommon-master.zip

    https://files.cnblogs.com/files/xiaojf/fastdfs-nginx-module-master.zip

    https://files.cnblogs.com/files/xiaojf/fastdfs-client-java-master.zip

    https://files.cnblogs.com/files/xiaojf/fastdfs-5.11.zip

    1.1 安装libfastcommon

    由于我的centOS7是最小化安装,我里面没有安装zip解压。 
    先安装 :

    yum -y install unzip zip

    安装成功后解压libfastcommon-master.zip

    unzip libfastcommon-master.zip

    进入我们刚刚解压的目录:

    [root@localhost ftp]# cd libfastcommon-master
    [root@localhost libfastcommon-master]# ll
    total 32
    drwxr-xr-x 2 root root  117 Apr  5 18:07 doc
    -rw-r--r-- 1 root root 8005 Apr  5 18:07 HISTORY
    -rw-r--r-- 1 root root  566 Apr  5 18:07 INSTALL
    -rw-r--r-- 1 root root 1606 Apr  5 18:07 libfastcommon.spec
    -rwxr-xr-x 1 root root 3099 Apr  5 18:07 make.sh
    drwxr-xr-x 2 root root  191 Apr  5 18:07 php-fastcommon
    -rw-r--r-- 1 root root 2763 Apr  5 18:07 README
    drwxr-xr-x 3 root root 4096 Jun  8 21:51 src

    当我们./make.sh的时候会提示,gcc命令没有找到。

    用yum安装gcc: 
    yum命令相当好用,是RedHad和CentOS从指定服务器下载RPM包并自动安装。我个人比较喜欢。

    yum -y install gcc-c++

    这个时候分别执行./make.sh和./make.sh install,正常情况是可以成功的。 
    libfastcommon默认会被安装到/usr/lib64/libfastcommon.so但是FastDFS的主程序却在/usr/local/lib目录下 
    这个时候我们就要建立一个软链接了,实际上也相当于windows上的快捷方式。

    ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
    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

    解压FastDFS安装包

    unzip fastdfs-5.11.zip

    解压后看到:

    [root@localhost ftp]# ls
    593d8f1eN5b3b8133.jpg            libfastcommon-master
    fastdfs-5.11                     libfastcommon-master.zip
    fastdfs-5.11.zip                 nginx-1.12.0.tar.gz
    fastdfs-client-java-master.zip   record.txt
    fastdfs-nginx-module-master.zip  zookeeper-3.4.6.tar.gz

    进到刚解压的目录

    cd fastdfs-5.11
    ./make.sh
    ./make.sh install

    如果没有报错那么就成功了。安装log中会提示FastDFS安装到了/etc/fdfs目录下。

    成功后查看安装目录:

    [root@localhost ftp]# cd /etc/fdfs/
    [root@localhost fdfs]# ll
    -rw-r--r-- 1 root root  1461 Jun  8 21:56 client.conf.sample
    -rw-r--r-- 1 root root  7927 Jun  8 21:56 storage.conf.sample
    -rw-r--r-- 1 root root  7389 Jun  8 21:56 tracker.conf.sample

    我们需要把这三个示例文件复制一份,去掉.sample。

    cp client.conf.sample client.conf
    cp storage.conf.sample storage.conf
    cp tracker.conf.sample tracker.conf

    FastDFS安装结束。

    1.3安装tracker

    1.3.1创建tracker工作目录

    这个目录可以自定义,用来保存tracker的data和log 
    根据个人习惯,我创建了下面的目录:

    [root@localhost ~]# cd /usr/
    [root@localhost usr]# mkdir yong.cao
    [root@localhost usr]# cd yong.cao/
    [root@localhost yong.cao]# mkdir dev
    [root@localhost yong.cao]# cd dev/
    [root@localhost dev]# mkdir fastdfs
    [root@localhost yong.cao]# cd fastdfs/
    [root@localhost dev]# mkdir fastdfs_tracker
    [root@localhost fastdfs]# cd fastdfs_tracker/
    [root@localhost fastdfs_tracker]# pwd
    /usr/yong.cao/dev/fastdfs/fastdfs_tracker        #这个是我最终创建的目录
    [root@localhost fastdfs_tracker]#

    1.3.2配置tracker

    cd /etc/fdfs
    vim tracker.conf

    最小化的CentOS7是没有安装vim的,可以把vim tracker.conf命令改成vi tracker.conf,也可以去下载一个vim

    yum -y install vim     #简单粗暴安装方法

    打开后重点关注下面4个配置: 
    1.disabled=false #默认开启 
    2.port=22122 #默认端口号 
    3.base_path=/usr/yong.cao/dev/fastdfs/fastdfs_tracker #我刚刚创建的目录 
    4.http.server_port=6666 #默认端口是8080

    1.3.3启动tracker

    保存配置后启动tracker,命令如下:

    service fdfs_trackerd start

    如果不能启动,或提示用systemctl可改用命令:

    systemctl start fdfs_trackerd

    成功后应该可以看到:

    [root@localhost fdfs]# service fdfs_trackerd start
    Starting fdfs_trackerd (via systemctl):                    [  OK  ]

    进行刚刚创建的tracker目录,发现目录中多了data和log两个目录

    [root@localhost fdfs]# cd /usr/yong.cao/dev/fastdfs/fastdfs_tracker/
    [root@localhost fastdfs_tracker]# ll
    total 0
    drwxr-xr-x 2 root root 178 Jun 16 21:19 data
    drwxr-xr-x 2 root root  26 Jun 13 22:01 logs

    最后我们需要给tracker加入开机启动

    [root@localhost fastdfs_tracker]# ll /etc/rc.d/rc.local
    -rw-r--r-- 1 root root 501 Jun 16 21:34 /etc/rc.d/rc.local

    发现并没有执行权限,需要加一下:

    chmod +x /etc/rc.d/rc.local

    加完后应该是这样的:

    -rwxr-xr-x 1 root root 501 Jun 16 21:34 /etc/rc.d/rc.local
    修改rc.local
    vim /etc/rc.d/rc.local
    #!/bin/bash
    # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
    #
    # It is highly advisable to create own systemd services or udev rules
    # to run scripts during boot instead of using this file.
    #
    # In contrast to previous versions due to parallel execution during boot
    # this script will NOT be run after all other services.
    #
    # Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
    # that this script will be executed during boot.
    
    touch /var/lock/subsys/local
    service fdfs_trackerd start

    查看一下tracker的端口监听情况

    [root@localhost fastdfs_tracker]# netstat -unltp|grep fdfs
    tcp        0      0 0.0.0.0:22122           0.0.0.0:*               LISTEN      2231/fdfs_trackerd

    端口22122成功监听。

    1.4 安装storage

    storage的安装与tracker很类似。

    1.4.1 为storage配置工作目录

    与tracker不现的是,由于storage还需要一个目录用来存储数据,所以我另外多建了一个fasdfs_storage_data 
    下面是我的目录结构:

    [root@localhost fastdfs]# ls
    fastdfs_storage  fastdfs_storage_data  fastdfs_tracker

    1.4.2 修改storage配置文件

    修改storage.conf

    vim /etc/fdfs/storage.conf

    1.disabled=false 
    2.group_name=group1 #组名,根据实际情况修改 
    3.port=23000 #设置storage的端口号,默认是23000,同一个组的storage端口号必须一致 
    4.base_path=/usr/yong.cao/dev/fastdfs/fastdfs_storage #设置storage数据文件和日志目录 
    5.store_path_count=1 #存储路径个数,需要和store_path个数匹配 
    6.base_path0=/usr/yong.cao/dev/fastdfs/fastdfs_storage_data #实际文件存储路径 
    7.tracker_server=192.168.128.131:22122 #我CentOS7的ip地址 
    8.http.server_port=8888 #设置 http 端口号

    修改保存后创建软引用

    ln -s /usr/bin/fdfs_storaged /usr/local/bin

    1.4.3 启动storage

    service fdfs_storaged start

    如果不能启动,或提示用systemctl可改用命令:

    systemctl start fdfs_storaged

    成功后应该可以看到:

    [root@localhost fdfs]# service fdfs_stroaged start
    Starting fdfs_storaged (via systemctl):                    [  OK  ]

    同样的,设置开机启动: 
    修改rc.local

    vim /etc/rc.d/rc.local
    #!/bin/bash
    # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
    #
    # It is highly advisable to create own systemd services or udev rules
    # to run scripts during boot instead of using this file.
    #
    # In contrast to previous versions due to parallel execution during boot
    # this script will NOT be run after all other services.
    #
    # Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
    # that this script will be executed during boot.
    
    touch /var/lock/subsys/local
    service fdfs_trackerd start
    service fdfs_storaged start

    查看一下服务是否启动

    [root@localhost fastdfs]# netstat -unltp | grep fdfs
    tcp        0      0 0.0.0.0:22122           0.0.0.0:*               LISTEN      2231/fdfs_trackerd
    tcp        0      0 0.0.0.0:23000           0.0.0.0:*               LISTEN      2323/fdfs_storaged

    服务已正常启动。

    1.4.4 校验整合

    到这里,fastdfs的东西都已安装完成,最后我们还要确定一下,storage是否注册到了tracker中去。 
    查看命令:

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

    成功后可以看到: 

    ip_addr = 192.168.128.131 (localhost.localdomain) ACTIVE
    
    [root@localhost fastdfs]# /usr/bin/fdfs_monitor /etc/fdfs/storage.conf
    [2017-06-17 14:15:44] DEBUG - base_path=/usr/yong.cao/dev/fastdfs/fastdfs_storage, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0, use_connection_pool=0, g_connection_pool_max_idle_time=3600s, use_storage_id=0, storage server id count: 0
    server_count=1, server_index=0
    tracker server is 192.168.128.131:22122
    group count: 1
    Group 1:
    group name = group1
    disk total space = 8178 MB
    disk free space = 6463 MB
    trunk free space = 0 MB
    storage server count = 2
    active server count = 1
    storage server port = 23000
    storage HTTP port = 8888
    store path count = 1
    subdir count per path = 256
    current write server index = 0
    current trunk file id = 0
            Storage 1:
                    id = 192.168.128.131
                    ip_addr = 192.168.128.131 (localhost.localdomain)  ACTIVE
                    http domain =
                    version = 5.11
                    join time = 2017-06-13 22:19:42
                    up time = 2017-06-16 21:19:47
                    total storage = 8178 MB
                    free storage = 6463 MB
                    upload priority = 10
                    store_path_count = 1
                    subdir_count_per_path = 256
                    storage_port = 23000
                    storage_http_port = 8888
                    current_write_path = 0
                    source storage id =
                    if_trunk_server = 0
                    connection.alloc_count = 256
                    connection.current_count = 0
                    connection.max_count = 1
                    total_upload_count = 6
                    success_upload_count = 6
                    total_append_count = 0
                    success_append_count = 0
                    total_modify_count = 0
                    success_modify_count = 0
                    total_truncate_count = 0
                    success_truncate_count = 0
                    total_set_meta_count = 5
                    success_set_meta_count = 5
                    total_delete_count = 0
                    success_delete_count = 0
                    total_download_count = 0
                    success_download_count = 0
                    total_get_meta_count = 0
                    success_get_meta_count = 0
                    total_create_link_count = 0
                    success_create_link_count = 0
                    total_delete_link_count = 0
                    success_delete_link_count = 0
                    total_upload_bytes = 590790
                    success_upload_bytes = 590790
                    total_append_bytes = 0
                    success_append_bytes = 0
                    total_modify_bytes = 0
                    success_modify_bytes = 0
                    stotal_download_bytes = 0
                    success_download_bytes = 0
                    total_sync_in_bytes = 0
                    success_sync_in_bytes = 0
                    total_sync_out_bytes = 0
                    success_sync_out_bytes = 0
                    total_file_open_count = 6
                    success_file_open_count = 6
                    total_file_read_count = 0
                    success_file_read_count = 0
                    total_file_write_count = 6
                    success_file_write_count = 6
                    last_heart_beat_time = 2017-06-17 14:15:27
                    last_source_update = 2017-06-16 23:34:20
                    last_sync_update = 1970-01-01 08:00:00
                    last_synced_timestamp = 1970-01-01 08:00:00
    [root@localhost fastdfs]#
  • 相关阅读:
    C#与C++中struct和class的小结
    C#中string的小结
    树的一些操作——遍历,前序和中序建立后续
    一个快速、高效的Levenshtein算法实现——代码实现
    整数拆分
    阶乘结果中0的个数
    普莱菲尔密码矩阵生成算法
    CTF密码学总结
    盲文对照表
    实验吧-古典密码
  • 原文地址:https://www.cnblogs.com/xiaojf/p/7891050.html
Copyright © 2011-2022 走看看