• 图片服务器搭建过程


    一、准备工作
    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 配置  
  • 相关阅读:
    NSUserDefaults
    版本控制
    真机调试流程
    UIImageView加载图片的两种方式
    UI控件之--UIButton
    Xcode错误总结
    自动布局AutoLayout
    地理编码和反地理编码
    WordPress NOSpam PTI插件‘comment_post_ID’参数SQL注入漏洞
    WordPress RokMicroNews插件‘thumb.php’ 多个安全漏洞
  • 原文地址:https://www.cnblogs.com/yintingting/p/7352810.html
Copyright © 2020-2023  润新知