• nginx,fastdfs 配置搭建文件服务器


    目录

    文件服务器概览

    安装libfastcommon

    安装tracker

    安装storage服务

    配置client并且上传测试图片

    nginx安装与fastdfs配置 (上)

    nginx安装与fastdfs配置(下)


    文件服务器概览

    三个系统对应三台服务器,如果用户在订单系统想查看用户系统的一些相关图片,可能访问不到

     使用文件服务器上传,不管用户在哪个系统,都可以访问对应文件

     

    Client客户端甲方

    Tracker Server跟踪服务器项目经理

    Storage Server存储服务器程序员

    1.  storage周期性向tracker发送状态信息 -> 程序员定期向项目经理汇报任务状态
    2.  客户端发送上传请求 -> 甲方有需求就是要上传文件,会与项目经理交流。
    3.  分配group和storage -> 项目经理收到需求后,询问手下程序员有哪些人是空闲的,有哪些人可以做这个需求
    4.  返回storage的ip地址和端口 -> 项目经理跟甲方说可以做这个需求
    5.  上传文件(file content和meta data)-> 客户端接收到项目经理的回馈后,去上传文件,把文件丢给程序员
    6.  生成filed_id。将上传内容写入磁盘 -> 程序员做相应的文件写入
    7.  返回file_id(路径信息和文件名)->
    8.  存储文件信息 ->

    安装libfastcommon

    nginx与fastdfs配置压缩包:nginx与fastdfs配置压缩包-Java文档类资源-CSDN下载

    下载链接中的压缩包

    1. 复制fastDFS文件夹到虚拟机/home/tar目录下       

    scp -r /Users/zxf/Desktop/fastDFS zxf@192.168.1.9:/home/tar

    2. 用ssh连接虚拟机ssh zxf@192.168.1.9

    3. cd /home/tar

    4. sudo apt -y install libevent-dev         // mac

    5. cd fastDFS

    6. tar -zxvf libfastcommon-1.0.42.tar.gz        // 解压

        ll

    7. cd libfastcommon-1.0.42

        ll

    8.  ./make.sh 编译        // make.sh是进行相应的编译

    报错了,找不到指令,得下载:

    ./make.sh: line 14: gcc: command not found

    ./make.sh: line 15: ./a.out: No such file or directory

    ./make.sh: line 158: make: command not found

    解决方式: sudo apt -y install gcc automake autoconf libtool make

    再重新编译: ./make.sh 

    9. sudo ./make.sh install        // 安装libfastcommon

    安装在根路径的usr/lib64下面:

    cd /usr

    ll

    cd lib64

    ll libfast*

    拷贝 libfastcommon.so 到 lib 目录下:因为 lib64 是64位环境,lib 是32位环境

    cp libfastcommon.so /usr lib

    安装tracker

    1. cd /home/tar/fastDFS

        ll

    2. tar -zxvf fastdfs-6.04.tar.gz        // 解压

        ll

    3. cd fastdfs-6.04

        ll

    4. ./make.sh        // 编译

        sudo ./make.sh install        // 安装。它会把一些配置安装在相应的usr/bin目录下

        cd /usr/bin/

        ll fdfs*

    还有一些配置文件会安装在etc/fdfs

    cd etc/fdfs

    5. cd /home/tar/fastDFS/fastdfs-6.04

        ll

        cd conf

        ll

    sudo cp  *  /etc/fdfs/        // 将conf目录下的所有文件拷贝到 /etc/fdfs 目录

    cd  /etc/fdfs/ 

    ll

    6. 配置tracker服务

        sudo vim tracker.conf

        输入/base_path找到/base_path

    路径改为base_path=/fastdfs/tracker,按esc键加:wq保存。

    在根目录下创建/fastdfs/tracker这个路径

    cd /

    sudo mkdir /fastdfs/tracker -p

    ll

    cd fastdfs

    ll

    sudo mkdir storage

    sudo mkdir clien

    7. cd /etc/fdfs

        ll

    配置tracker.conf完毕后要对它进行启动

    如何启动?在/usr/bin/目录下也有一些相应的配置文件

    cd /usr/bin

    ll fdfs*

     fdfs_trackerd是启动tracker服务的命令,fdfs_trackerd + 配置文件路径

    启动:sudo  fdfs_trackerd  /etc/fdfs/tracker.conf

    重启:sudo  fdfs_trackerd  /etc/fdfs/tracker.conf restart

    安装storage服务

    1. cd /

        cd /fastdfs

        ll 

    2. cd /etc/fdfs

        ll 

     修改storage.conf配置文件

    3. sudo vim storage.conf

      3.1. 修改base_path和group_name 

    按键盘a改成:

      3.2 输入/store_path回车,找到store_path0,修改store_path0

      按a改成:

      (按esc退出编辑模式)

      3.3 因为storage需要向tracker定时汇报。输入/tracker查找

    改成虚拟机的地址192.168.1.9

    esc退出编辑模式,保存:wq

    4. 启动storage服务

    cd  /user/bin

    ll  fdfs*

    sudo  fdfs_storaged  /etc/fdfs/storage.conf

    重启:sudo fdfs_storaged /etc/fdfs/storage.conf restart

    查看进程是否启动成功:

    ps aux|grep storage

    ps aux|grep tracker

    配置client并且上传测试图片

    1. cd /etc/fdfs

        ll

     sudo vim client.conf

    base_path改为client存储日志地址:

    tracker_server改为虚拟机IP地址192.168.1.9:

    2. cd /usr/bin/

        ll fdfs*

    client对应的fdfs_test

    3. cd /home/

        ll

    把一张图片从本机传输到虚拟机

    sudo scp -r /Users/zxf/Desktop/face-default-cat.png zxf@192.168.1.9:/tmp

    sudo   mv   /tmp/face-default-cat.png   /home

    4. 上传这张图片

    /usr/bin/fdfs_test   /etc/fdfs/client.conf   upload   face-default-cat.png

    5. 查看这张图片在哪

        cd /fastdfs/storage

        ll

        cd data

        cd 00

        cd 00

        ll

    nginx安装与fastdfs配置 (上)

    1. 配置 

        cd /home/tar/fastDFS

        tar -zxvf fastdfs-nginx-module-1.22.tar.gz (解压fastdfs-nginx-module-1.22.tar.gz)

        cd fastdfs-nginx-module-1.22

        cd src

        ll

    sudo vim config 把路径的local去掉,保存修改

    2. 安装

    cd /home/tar/fastDFS

    ll

    sudo apt -y install g++ (安装C++环境)

    sudo apt -y install libpcre3 libpcre3-dev (包含正则表达式)

    sudo apt -y install zlib1g-dev

    sudo apt -y install openssl libssl-dev

    3. 配置nignx,首先解压nigx包

    ll

    tar -zxvf nginx-1.16.1.tar.gz

    cd nginx-1.16.1

    ll

    cd /home/tar/fastDFS/nginx-1.16.1/

    sudo vim configure (复制配置)

     3. 编译,安装

        make

        sudo make install

    nginx安装与fastdfs配置(下)

    1. cd /usr/local/nginx

        ll

    2. 对fastdfs-nginx桥梁进行配置

    cd fastdfs-nginx-module-1.22/src

    ll

    sudo cp mod_fastdfs.conf /etc/fdfs

    sudo vim mod_fastdfs.conf

    修改base_path

    (改前)

      (改后)

    cd /fastdfs

    sudo mkdir tmp

    ll

    3. cd /etc/fdfs

        ll

        sudo vim mod_fastdfs.conf

    修改tracker_server改为192.168.1.9:22122:

    修改group_name为imooc :

    修改url_have_group_name值为true:

    4. 配置nginx

    cd /usr/local/nginx/conf

    ll

    sudo vim nginx.conf添加

    1. server {
    2.         listen       88;
    3.         server_name  192.168.1.9;
    4.         location /imooc/M00 {
    5.             ngx_fastdfs_moudle;
    6.         }
    7. }

    保存 

    ps:server_name  0.0.0.0;    ——监听所有网卡

    5.  cd ../sbin

        ll

    sudo mkdir /var/temp/nginx -p

    sudo ./nginx -t

    sudo ./nginx

    6. 关闭防火墙

    sudo ufw status         //  ubunt

    浏览器输入http://192.168.1.9/

    7. 访问图片

    http://192.168.1.9:88/imooc/M00/00/00/wKgBCWJtQ12AJMyWAAdvFPNDd50898_big.png

    原因:Nginx和fastdfs有桥梁的配置,在桥梁配置中我们没有设置存储图片的路径,所以要做这个配置

    8. cd /etc/fdfs

        ll

        sudo vim mod_fastdfs.conf

    修改store_path1路径

    改为 保存修改

    9. 配置完毕后需要重启服务器

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

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

    重启nginx

    cd /usr/local/nginx/sbin

    sudo ./nginx -s reload

    浏览器刷新http://192.168.1.9:88/imooc/M00/00/00/wKgBCWJtQ12AJMyWAAdvFPNDd50898_big.png

  • 相关阅读:
    Vue项目前期准备工作
    Spring注解驱动之BeanFactory的初始化
    swiper 增加一个鼠标移入分页器的小点后就切换展示图片
    Spark 平障录
    2022牛客多校八 F-Longest Common Subsequence(思维)
    载波通讯电表的使用年限是多久?
    sip广播10W网络有源吸顶喇叭
    SQL Server 修改、删除表中数据
    MySQL数据库必会的增删查改操作(CRUD)
    【WINDOWS / DOS 批处理】call命令与变量延迟展开
  • 原文地址:https://blog.csdn.net/DOVIS233/article/details/126990169