zoukankan      html  css  js  c++  java
  • 图片服务器搭建过程

    一、准备工作
    1下载软件:http://sourceforge.net/projects/fastdfs/files/

     或者百度云:链接:http://pan.baidu.com/s/1jIR4Gce  密码:5zvf
    2安装gcc。命令:yum install make cmake gcc gcc-c++


    二、安装libfastcommon

    2.上传libfastcommon.zip 到 /home/yintingting 目录下(这里目录你随意)
    3. 进行解压libfastcommon.zip:
    命令:unzip libfastcommon.zip -d /usr/local/fast/
    4. 进入目录:cd /usr/local/fast/libfastcommon/

    5. 进行编译和安装:
    命令:./make.sh
    命令:./make.sh install

    如果报错

    ./make.sh:行99: perl: 未找到命令
    ./make.sh:行100: perl: 未找到命令
    那执行:

    yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget

    否则继续

    注意安装的路径:也就是说,我们的libfastcommon默认安装到了/usr/lib64/这个
    位置。

    6.进行软链接创建。

    FastDFS主程序设置的目录为/usr/local/lib/,而我们的安装目录为/usr/lib64,所以我们需要创建/
    usr/lib64/下的一些核心执行程序的软连接文件。

    创建目录
    命令:mk dir /usr/local/lib/

    创建软链接
    命令: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

    三、安装FastDFS
    1 进入到 cd /home/lee下,解压FastDFS_v5.05.tar.gz文件
    命令:cd /home/lee
    命令:tar -zxvf FastDFS_v5.05.tar.gz -C /usr/local/fast/
    2 安装编译
    命令:cd /usr/local/fast/FastDFS/
    编译命令:./make.sh
    安装命令:./make.sh install

    3 采用默认安装方式脚本文件说明:
    服务脚本在:
    /etc/init.d/fdfs_storaged
    /etc/init.d/fdfs_trackerd

    配置文件在:
    /etc/fdfs/client.conf.sample
    /etc/fdfs/storage.conf.sample
    /etc/fdfs/tracker.conf.sample

    命令行工具在/usr/bin/目录下,Fdfs_*的一些列执行脚本

    4.因为FastDFS服务脚本设置的bin目录为/usr/local/bin/下,但是实际我们安装在了/u
    sr/bin/下面。所以我们需要修改FastDFS配置文件中的路径,也就是需要修改俩
    个配置文件:
    命令:vim /etc/init.d/fdfs_storaged
    进行全局替换命令:%s+/usr/local/bin+/usr/bin
    命令:vim /etc/init.d/fdfs_trackerd
    进行全局替换命令:%s+/usr/local/bin+/usr/bin

    四.配置跟踪器
    1 进入 cd/etc/fdfs/ 目录配置跟踪器文件,把tracker.conf.sample文件

    进行copy一份:去修改tracker.conf文件

    命令: cp tracker.conf.sample tracker.conf

    2 修改tracker.conf文件
    命令:vim /etc/fdfs/tracker.conf
    如下图所示:我们暂时修改配置文件里的base_path即可。

    修改为自己的路径地址:base_path=/fastdfs/tracker(这个目录待会创建)

    3 最后我们一定要创建之前定义好的目录(也就是/fastdfs/tracker):
    命令:mkdir -p /fastdfs/tracker

    4 开放22122端口:

    centos7以下版本:
    Vim /etc/sysconfig/iptables
    添加:-A INPUT -m state --state NEW -m tcp -p tcp --dport 22122 -j ACCEPT
    重启:service iptables restart

    centos7版本

    命令:firewall-cmd --permanent --add-port=22122/tcp

    重启:firewall-cmd --reload后才可生效

    五 启动跟踪器
    目录命令:cd /fastdfs/tracker/ && ll

    启动tracker命令:/etc/init.d/fdfs_trackerd start
    查看进程命令:ps -el | grep fdfs
    (停止tracker命令:/etc/init.d/fdfs_trackerd stop,注意这里不要stop啊)

    6可以设置开机启动跟踪器:(一般生产环境需要开机启动一些服务,如keepalived、linux、tomcat)
    命令:vim /etc/rc.d/rc.local
    加入配置:/etc/init.d/fdfs_trackerd start

    六、配置FastDFS存储


    1 进入文件目录:cd /etc/fdfs/,进行copy storage文件一份
    命令:cd /etc/fdfs/
    命令:cp storage.conf.sample storage.conf


    2 修改storage.conf文件
    命令:vim /etc/fdfs/storage.conf
    修改内容:
    base_path=/fastdfs/storage
    store_path0=/fastdfs/storage
    tracker_server=192.168.1.172:22122
    http.server_port=8888

    3 创建存储目录:mkdir -p /fastdfs/storage


    4 开放23000端口:参照上面开放22122端口内容

    5 启动存储(storage)
    命令:/etc/init.d/fdfs_storaged start (关闭命令:/etc/init.d/fdfs_storaged stop)
    (初次启动成功后会在/fastdbf/storage/ 目录下创建 data、logs俩个目录)

    6 查看FastDFS storage 是否启动成功
    命令:ps -ef | grep fdfs

    并且我们进入到/fastdfs/storage/data/文件夹下会看到一些目录文件(256*256)
    如下:
    命令:cd /fastdfs/storage/data/ && ls

    7同理,也可以设置开机启动存储器:(一般生产环境需要开机启动一些服务,如keepalived、linux、tomcat)
    命令:vim /etc/rc.d/rc.local
    加入配置:/etc/init.d/fdfs_storaged start


    到此为止我们的FastDFS环境已经搭建完成!

    七.测试环境


    1 我们先使用命令上传一个文件。注意:是在tracker(跟踪器)中上传。
    首先我们在跟踪器里copy一份client.conf文件。
    命令:cd /etc/fdfs/
    命令:cp client.conf.sample client.conf

    2 编辑client.conf文件
    命令:vim /etc/fdfs/client.conf
    修改内容:
    base_path=/fastdfs/tracker
    tracker_server=192.168.1.172:22122


    3 我们找到命令的脚本位置,并且使用命令,进行文件的上传:
    命令:cd /usr/bin/
    命令:ls | grep fdfs

    4 使用命令fdfs_upload_file进行上传操作:
    首先,我们先看一下存储器,进入到data下,在进入00文件夹
    下,发现00文件夹下还有一堆文件夹,然后继续进入00文件夹下,最终我们所
    进入的文件夹为:
    /fastdfs/storage/data/00/00 里面什么文件都没有。

    然后,我们进行上传操作,比如把之前的/usr/local/software/文件夹下的某一个
    文件上传到FastDFS系统中去,在跟踪器中上传文件,命令如
    下:
    命令:/usr/bin/fdfs_upload_file /etc/fdfs/client.conf
    /home/yintingting/FastDFS_v5.05.tar.gz

    最后我们发现,命令执行完毕后,返回一个group1/M00/00/00/...的ID,其实就
    是返回当前所上传的文件在存储器中的哪一个组、哪一个目录位置,所以我们查看存储器中的/fastdfs/storage/data/00/00文件夹位置,发现已经存在了刚才上传的文件,到此为止,我们的测试上传文件已经OK了。

    八.fastdfs 与nginx整合

    1 首先必须先安装nginx (下载地址: http://mirrors.sohu.com/nginx/)

    2 然后我们在存储节点上安装fastdfs-nginxmodule_v1.16.tar.gz包进行整合。

    目录命令:cd /home/yintingting
    解压命令:tar -zxvf /home/yintingting/fastdfs-nginx-module_v1.16.tar.gz -C
    /usr/local/fast/

    3 进入目录:cd fastdfs-nginx-module/src/


    4 编辑配置文件config
    命令: vim /usr/local/fast/fastdfs-nginx-module/src/config
    修改内容:去掉下图中的local文件层次

    修改完毕为:

    5 FastDFS与nginx进行集成


    首先把之前的nginx进行删除
    目录命令:cd /usr/local/
    删除命令:rm -rf nginx
    进入到nginx目录命令:cd nginx-1.6.2/

    由于需要安装nginx,需要安装依赖:yum -y install  zlib pcre pcre-devel zlib-devel

    加入模块命令:./configure --add-module=/usr/local/fast/fastdfs-nginx-module/src/
    重新编译命令:make && make install

    6 复制fastdfs-ngin-module中的配置文件,到/etc/fdfs目录中

    copy命令:cp /usr/local/fast/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/


    7 进行修改 /etc/fdfs/ 目录下,我们刚刚copy过来的mod_fastdfs.conf 文件。

    命令:vim /etc/fdfs/mod_fastdfs.conf
    修改内容:比如连接超时时间、跟踪器路径配置、url的group配置、
    connect_timeout=10
    tracker_server=192.168.1.172:22122
    url_have_group_name = true
    store_path0=/fastdfs/storage


    8 复制FastDFS里的2个文件,到/etc/fdfs目录中,如图所示:

    目录命令:cd /usr/local/fast/FastDFS/conf/
    Copy命令:cp http.conf mime.types /etc/fdfs/


    9创建一个软连接,在/fastdfs/storage文件存储目录下创建软连接,将其链接到实际存放数据
    的目录。
    命令:ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00


    10 修改Nginx配置文件,如图所示:


    命令:vim nginx.conf
    添加端口映射配置内容如:


    修改内容为:

    server{
    listen 8888;
    server_name localhost;
    location ~/group([0-9])/M00 {
    root /fastdfs/storage/data;
    ngx_fastdfs_module;
    }

    }

    注意:nginx里的端口要和配置FastDFS存储中的storage.conf文件配置一致,
    也就是(http.server_port=8888)

    11 最后检查防火墙,然后我们启动nginx服务

    启动命令:/usr/local/nginx/sbin/nginx,


    上传一个文件,上传成功,


    现在我们使用这个ID用浏览器访问地址:
    http://192.168.1.173:8888/group1/M00/00/00/wKgBrVaSvM6AddWWAAVFOL7FJU4.tar.gz
    我们就可以下载这个文件啦!如下图所示:


    运维注意:我们在使用FastDFS的时候,需要正常关机,不要使用kill -9
    强杀FastDFS进程,不然会在文件上传时出现丢数据的情况。
    到此,我们的FastDFS与Nginx整合完毕!!


    九:启动停止服务步骤如下:


    启动命令:
    启动tracker命令:/etc/init.d/fdfs_trackerd start
    查看进程命令:ps -el | grep fdfs
    启动storage命令:/etc/init.d/fdfs_storaged start
    查看进程命令:ps -el | grep fdfs
    启动nginx命令:/usr/local/nginx/sbin/nginx

    停止命令:
    停止tracker命令:/etc/init.d/fdfs_trackerd stop
    关闭storage命令:/etc/init.d/fdfs_storaged stop
    关闭nginx命令:/usr/local/nginx/sbin/nginx -s stop

    删除上传文件:
    /usr/bin/fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wK
    gBe1iEcGOAafHdALSFS-ifSIk.tar.gz

    参考资料:https://my.oschina.net/u/1867229/blog/829572真是谢谢这个作者,帮了我大忙,当然其中有点小麻烦,还好都解决了。

    中间出现了虚拟机IP地址变化的情况,这时候需要重设IP地址,更改如下文件后,用ip addr命令看是否ip多了一个你刚输入的

    vim /etc/sysconfig/network-scripts/ifcfg-eth0  

    1. # ]# cat /etc/sysconfig/network-scripts/ifcfg-eth0  
    2. HWADDR="00:15:5D:07:F1:02"  
    3. TYPE="Ethernet"  
    4. BOOTPROTO="static" #dhcp改为static   
    5. DEFROUTE="yes"  
    6. PEERDNS="yes"  
    7. PEERROUTES="yes"  
    8. IPV4_FAILURE_FATAL="no"  
    9. IPV6INIT="yes"  
    10. IPV6_AUTOCONF="yes"  
    11. IPV6_DEFROUTE="yes"  
    12. IPV6_PEERDNS="yes"  
    13. IPV6_PEERROUTES="yes"  
    14. IPV6_FAILURE_FATAL="no"  
    15. NAME="eth0"  
    16. UUID="bb3a302d-dc46-461a-881e-d46cafd0eb71"  
    17. ONBOOT="yes" #开机启用本配置  
    18. IPADDR=192.168.7.106 #静态IP  
    19. GATEWAY=192.168.7.1 #默认网关  
    20. NETMASK=255.255.255.0 #子网掩码  
    21. DNS1=192.168.7.1 #DNS 配置  
  • 相关阅读:
    《大话数据结构》第1章 数据结构绪论 1.2 你数据结构怎么学的?
    伍迷七八月新浪微博集锦
    《大话数据结构》第9章 排序 9.7 堆排序(下)
    《大话数据结构》第3章 线性表 3.8.2 单链表的删除
    《大话数据结构》第9章 排序 9.5 直接插入排序
    《大话数据结构》第9章 排序 9.8 归并排序(上)
    《大话数据结构》第2章 算法基础 2.9 算法的时间复杂度
    《大话数据结构》第1章 数据结构绪论 1.1 开场白
    《大话数据结构》第9章 排序 9.1 开场白
    [AWS] Assign a public IP address to an EC2 instance after launched
  • 原文地址:https://www.cnblogs.com/yintingting/p/7352810.html
Copyright © 2011-2022 走看看