zoukankan      html  css  js  c++  java
  • FastDFS搭建单机图片服务器(二)

    防丢失转载:https://blog.csdn.net/MissEel/article/details/80856194

    根据
    分布式文件系统 - FastDFS 在 CentOS 下配置安装部署

    分布式文件系统 - FastDFS 配置 Nginx 模块及上传测试
    一步一步搭建的,但还是碰到了版本太低,导致安装报错的问题。

    费时间解决了问题之后,我将这个步骤和对应的版本记录下载,有需要的小伙伴可以参考一下。
    用这个步骤,我已经在一部本机的虚拟机和一部阿里云服务器上分别搭建过,并且能上传和下载图片。

    搭建单机服务器的还是比较简单的。我分成了两篇来进行记录。

    FastDFS搭建单机图片服务器(一)

    主要是下载、安装和配置FastDFS相关的组件,实现图片的上传。
    FastDFS搭建单机图片服务器(二)

    主要是下载、安装和配置nginx相关的组件,实现图片的下载。
    接着上一篇(一)来继续安装nginx的步骤。

    一、安装nginx需要准备的环境(CentOS)
    1、安装gcc
    安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:
    yum install gcc-c++

    2、 安装PCRE pcre-devel
    PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:
    yum install -y pcre pcre-devel

    3、安装zlib
    zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。
    yum install -y zlib zlib-devel

    4、安装OpenSSL
    OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
    nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。
    yum install -y openssl openssl-devel

    参考资料:
    从零开始学 Java - CentOS 下安装 Nginx

    由于ubuntu系统对yum不友好,下载方式不一样。

    一、安装nginx需要准备的环境(Ubuntu)
    参考资料:ubuntu下安装nginx时依赖库zlib,pcre,openssl安装方法

    1、安装gcc
    安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:
    查看是否已经下载:
    dpkg -l | grep gcc
    如果没有则下载安装
    sudo apt-get install g++-5

    2、 安装PCRE pcre-devel
    PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:

    sudo apt-get install openssl libssl-dev

    3、安装zlib
    zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。
    查看是否安装
    dpkg -l | grep zlib
    如果没有则下载安装
    sudo apt-get install zlib1g-dev

    4、安装OpenSSL
    OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
    nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。
    sudo apt-get install openssl libssl-dev

    二、下载fastdfs-nginx-module
    1、下载
    cd /usr/local
    防止同名压缩包被覆盖,重命名一下已下载的libfastcommon安装包master.zip,
    mv master.zip libfastcommon.zip

    wget -c https://github.com/happyfish100/fastdfs-nginx-module/archive/master.zip

    2、解压
    unzip master.zip

    三、下载Nginx
    mkdir /usr/local/nginx
    cd /usr/local/nginx
    1、下载
    wget -c https://nginx.org/download/nginx-1.10.1.tar.gz

    2、解压nginx-1.10.1.tar.gz
    tar -zxvf nginx-1.10.1.tar.gz

    3、安装nginx

    加入fastdfs-nginx-module模块。这是和普通 Nginx 安装不一样的地方,因为加载了模块。

    cd /usr/local/nginx/nginx-1.10.1/

    ./configure --add-module=../../fastdfs-nginx-module-master/src/

    如果这一步有报错。有些文件显示not found错误。请确保环境准备好了。
    回到第一、安装nginx需要准备的环境,好好确认一下。

    如果没有报错,则执行编译

    4、编译
    make

    如果这里报了难以描述的错误
    解决办法:
    FastDFS版本必须 >= 5.11才可以。否则在使用fastdfs-nginx-module模块整合Nginx时候会出错,编译Nginx的时候会报错。
    解决问题再执行make

    5、安装
    make install

    6、查看安装成功的版本
    /usr/local/nginx/sbin/nginx -V

    四、配置 fastdfs-nginx-module 和 Nginx
    1.配置mod-fastdfs.conf,并拷贝到/etc/fdfs文件目录下。
    创建nginx存放日志和数据的目录
    mkdir /home/fastdfs/fast-nginx
    (已创建可以忽略)

    2、复制配置文件
    cd /usr/local/fastdfs-nginx-module-master/src/
    复制配置文件到/etc/fdfs目录下
    cp mod_fastdfs.conf /etc/fdfs

    3、修改mod_fastdfs.conf配置文件
    vi /etc/fdfs/mod_fastdfs.conf

    修改mod-fastdfs.conf配置只需要修改三个参数就行了,其他不需要也不建议改变。

    tracker_server=192.168.86.131:22122
    url_have_group_name=true
    store_path0=/home/fastdfs/storage/storage-image

       
    tracker_server=192.168.86.131:22122填本机ip

    如果部署的是阿里云ECS服务器,
    tracker_server=公网ip:22122

    4、修改config文件
    修改/usr/local/fastdfs-nginx-module-master/src/config文件:
    vi /usr/local/fastdfs-nginx-module-master/src/config
    图中标出的路径要和你的libfastcommon的路径保持一致,可能你的路径中有/local/这一层,如果你安装的目录没有/local/这一层,就将local删除。


    5、拷贝其他配置文件
    接着我们需要把fastdfs-5.11下面的配置中还没有存在/etc/fdfs中的拷贝进去

    cd /usr/local/fastdfs-5.11/conf

    cp anti-steal.jpg http.conf mime.types /etc/fdfs/

    6、配置nginx.conf

    cd /usr/local/nginx/conf

    vi nginx.conf

    编辑内容如下:

    location /group1/M00{
    ngx_fastdfs_module;
    }
    1
    2
    3


    7、添加软链接
    由于我们配置了group1/M00的访问,我们需要建立一个group1文件夹,并建立M00到data的软链接。

    mkdir /home/fastdfs/storage/storage-image/data/group1

    ln -s /home/fastdfs/storage/storage-image/data /home/fastdfs/storage/storage-image/data/group1/M00

    8、启动 Nginx

    /usr/local/nginx/sbin/nginx

    五、上传测试
    1、配置client.conf
    mkdir /home/fastdfs/client

    2、修改配置文件
    cd /etc/fdfs
    重命名
    cp client.conf.sample client.conf
    vi client.conf

    修改一下两个参数即可
    base_path=/home/fastdfs/client
    tracker_server=192.168.86.131:22122

    如果部署的是阿里云ECS服务器,
    tracker_server=公网ip:22122

    3、上传文件
    首先在本地创建一个文件
    /home/kiki/test.txt

    上传:
    /usr/bin/fdfs_test /etc/fdfs/client.conf upload /home/kiki/test.txt


    访问url 访问路径

     

    如果访问不了,关闭防火墙
    1) 防火墙,重启后生效
    开启: chkconfig iptables on
    关闭: chkconfig iptables off

    2) 防火墙,即时生效,重启后失效
    开启: service iptables start
    关闭: service iptables stop

    3)ubuntu系统下
    关闭防火墙:ufw disable
    开启防火墙:ufw enable

    再次访问就成功了。

  • 相关阅读:
    raw_input() 与 input() __ Python
    局域网文件夹上传解决方案
    网页文件夹上传解决方案
    前端文件夹上传解决方案
    JavaScript文件夹上传解决方案
    JS文件夹上传解决方案
    VUE文件夹上传解决方案
    WebUploader文件夹上传解决方案
    B/S文件夹上传解决方案
    CSharp文件夹上传解决方案
  • 原文地址:https://www.cnblogs.com/hahajava/p/11326110.html
Copyright © 2011-2022 走看看