centos7+fastdfs的单机配置

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cdnight/article/details/90210690

前言

服务器用centos7的情况是很常见的,本篇文章进行centos+fastdfs的搭建

Centos7 上安装 FastDFS

过程

yum install -y gcc gcc-c++

先更新一下。。
在这里插入图片描述

yum -y install libevent

安装更新一下。

好了,现在来进行centos的fastdfs配置了,请先准备好相关要编译的文件。

具体可以参考:

ubntu下单机配置fastdfs作为开发环境(1)—fastdfs的安装、配置及测试

我这里准备了:
在这里插入图片描述

上传到centos后,分别解压缩进行配置。

libfastcommon安装

在这里插入图片描述

下面开始。

tar -xzvf libfastcommon-1.0.39.tar.gz -C /usr/local/

在这里插入图片描述

切换到usr/local下面

cd /usr/local/libfastcommon-1.0.39/
./make.sh

make结果为:
在这里插入图片描述
执行:

./make.sh install   #安装

在这里插入图片描述

然后看看

ls /usr/lib64/libfastcommon.so 

是不是存在。

接下来就是复制libfastcommon.so

###由于FastDFS程序引用usr/lib目录所以需要将/usr/lib64下的库文件拷贝至/usr/lib下。

cp /usr/lib64/libfastcommon.so   /usr/lib

注意,这一步我没办法完成,因为安装时候已经有了:
在这里插入图片描述

配置trackered

编译安装

解压缩:

tar -zxvf fastdfs-5.11.tar.gz -C /usr/local

在这里插入图片描述

进入目录:

cd /usr/local/fastdfs-5.11/
./make.sh && ./make.sh install  #编译之后接着进行安装

在这里插入图片描述

配置

编译过后你依然在安装目录下面,你会发现多了些东西,其中有一个conf文件夹,里面有:

ls conf

在这里插入图片描述

各个配置文件,好了,conf下的文件拷贝到/etc/fdfs/下;

原来目录有:
ls /etc/fdfs
client.conf.sample  storage.conf.sample  storage_ids.conf.sample  tracker.conf.sample

复制配置文件
cp conf/*  /etc/fdfs/
现在目录有:
ls /etc/fdfs
anti-steal.jpg  client.conf.sample  mime.types    storage.conf.sample  storage_ids.conf.sample  tracker.conf.sample
client.conf     http.conf           storage.conf  storage_ids.conf     tracker.conf

切换目录到: /etc/fdfs/,

(1)切换目录到: /etc/fdfs/ 目录下;
(2)拷贝一份新的tracker配置文件
// cp tracker.conf.sample tracker.conf —不用做了,因为本身就有tracker.conf了
(3)修改tracker.conf ; vim tracker.conf
base_path=/home/yuqing/fastdfs 改为: base_path=/home/fastdfs
http.server_port 改为: 80
base_path=/home/fastdfs
http.server_port=80 #配置http端口
(4)创建 /home/fastdfs 目录
mkdir /home/fastdfs

启动tracker等

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

restart 可换为 start / stop

配置storage

 由于上面已经安装过FastDFS,这里只需要配置storage就好了;

(1)切换目录到: /etc/fdfs/ 目录下;

(2)拷贝一份新的storage配置文件

cp storage.conf.sample storage.conf
(3)修改storage.conf ;   vim storage.conf

group_name=group1 #配置组名
base_path=/home/yuqing/fastdfs    改为:  base_path=/home/fastdfs

#store存放文件的位置(store_path)
store_path0=/home/yuqing/fastdfs  改为: store_path0=/home/fdfs_storage 
#如果有多个挂载磁盘则定义多个store_path,如下
#store_path1=.....
#store_path2=......

#配置tracker服务器:IP
tracker_server=192.168.172.20:22122
#如果有多个则配置多个tracker
#tracker_server=192.168.101.4:22122

#配置http端口
http.server_port=88
 (4)创建 /home/fdfs_storage 目录

mkdir /home/fdfs_storage
(5)启动storage, 运行命令如下:

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

1/切换到/etc/fdfs/
2/修改storage.conf

cd /etc/fdfs/
vim storage.conf

修改内容为:
 
group_name=group1 #配置组名
base_path=/home/yuqing/fastdfs    改为:  base_path=/home/fastdfs

#store存放文件的位置(store_path)--特意改为序号0.。
store_path0=/home/yuqing/fastdfs  改为: store_path0=/home/fdfs_storage0 
#如果有多个挂载磁盘则定义多个store_path,如下
#store_path1=.....
#store_path2=......

#配置tracker服务器:IP
tracker_server=192.168.172.20:22122
#如果有多个则配置多个tracker
#tracker_server=192.168.101.4:22122

#配置http端口
http.server_port=88

然后,添加文件目录

mkdir /home/fdfs_storage0 

storage的操作

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

可以看到:

ls /home/fdfs_storage0/data

在这里插入图片描述

使用FastDFS自带工具测试

摘抄一下参考文章:

(1)切换目录到 /etc/fdfs/ 目录下;
(2)拷贝一份新的client配置文件

cp client.conf.sample client.conf
(3)修改client.conf ;   vim client.conf,修改基本路径和tracker_server如下:
  注意:若tracker有多个,可以配置多个,如下:

  #tracker_server=......

  #tracker_server=......

首先,切换到/etc/fdfs/

cd /etc/fdfs/

然后,vim client.conf
主要修改的有:

base_path以及tracker_server
在这里插入图片描述

# the base path to store log files
base_path=/home/yuqing/fastdfs 改为:base_path=/home/fastdfs

# tracker_server can ocur more than once, and tracker_server format is
#  "host:port", host can be hostname or ip address
tracker_server=192.168.0.197:22122 -》你自己的ip

修改完后,目前直接来操作一下。。对了,我专门找了个狗照,上传到服务器:
在这里插入图片描述

在这里插入图片描述

好了,来测试一下:

/usr/bin/fdfs_test /etc/fdfs/client.conf upload /root/dist/dog.jpg

可以看到:

This is FastDFS client test program v5.11

Copyright (C) 2008, Happy Fish / YuQing

FastDFS may be copied only under the terms of the GNU General
Public License V3, which may be found in the FastDFS source kit.
Please visit the FastDFS Home Page http://www.csource.org/ 
for more detail.

[2019-05-14 16:08:31] DEBUG - base_path=/home/fastdfs, 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

tracker_query_storage_store_list_without_group: 
        server 1. group_name=, ip_addr=你的ip地址, port=23000

group_name=group1, ip_addr=你的ip地址, port=23000
storage_upload_by_filename
group_name=group1, remote_filename=M00/00/00/rBIKaFzad3-Af1dfAABQSC3AH9A097.jpg
source ip address: 你的ip地址
file timestamp=2019-05-14 16:08:31
file size=20552
file crc32=767565776
example file url: http://你的ip地址/group1/M00/00/00/rBIKaFzad3-Af1dfAABQSC3AH9A097.jpg
storage_upload_slave_by_filename
group_name=group1, remote_filename=M00/00/00/rBIKaFzad3-Af1dfAABQSC3AH9A097_big.jpg
source ip address: 你的ip地址
file timestamp=2019-05-14 16:08:31
file size=20552
file crc32=767565776
example file url: http://你的ip地址/group1/M00/00/00/rBIKaFzad3-Af1dfAABQSC3AH9A097_big.jpg

上传成功。
看看文件存在与否:

ls /home/fdfs_storage0/group1/M00/00/00/rBIKaFzad3-Af1dfAABQSC3AH9A097.jpg

在这里插入图片描述

nginx 访问配置[懒人单机版]

一般情况下,集群模式下面nginx要重新导入fastdfs的插件重新编译,这里提供一个懒人的单击版做法,就是直接在nginx里面定位目录。
话说我们可以用nginx直接读取硬盘上的静态文件的话,如果中间加一个数据库再加一个java的中转程序在n台机器上面随机抽一台访问,那不也是负载均衡了吗?

使用

-- 大写的V
nginx -V 

获得nginx的配置文件所在:
在这里插入图片描述

打开/etc/nginx看到配置文件:

cd /etc/nginx
ls 

在这里插入图片描述

在conf.d里面

cd conf.d

配置准备

静态文件代理有两种方式:
例如:

      location /t_dist/{
           root /root/dist/;
 #          autoindex on;
       }
      location /t_dist/{
           alias /root/dist/;
 #          autoindex on;
       }

就是说,有root以及alias两种方式,他们有什么区别呢?

请看:
Nginx 配置静态文件404问题

简而言之:

当访问/i/top.gif时,root是去/data/w3/i/top.gif请求文件,alias是去/data/w3/images/top.gif请求,也就是说
root响应的路径:配置的路径+完整访问路径(完整的location配置路径+静态文件)
alias响应的路径:配置路径+静态文件(去除location中配置的路径)

配置nginx

修改:
vim nginx.conf

添加:

location /group1/M00/{
           alias /home/fdfs_storage0/data/;

}

就是这样:

在这里插入图片描述

配置文件如下:

user root;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;
    client_max_body_size 20m;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;

    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;
        location /group1/M00/{
           alias /home/fdfs_storage0/data/;
               }

        location / {
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }


}

然后:

nginx -s reload

可以看到:
在这里插入图片描述

熟悉的狗终于出现啦。。。

单机版fastdfs配置完成。

猜你喜欢

转载自blog.csdn.net/cdnight/article/details/90210690