zoukankan      html  css  js  c++  java
  • centos7.6在线安装fastdfs

    一、环境

    centos7.6

    二、下载安装包

    1、下载fastdfs

    cd  /usr/local/src

    wget https:
    //github.com/happyfish100/fastdfs/archive/refs/tags/V6.07.tar.gz -O fastdfs-6.07.tar.gz

    2、下载libfastcommon

    wget -O libfastcommon-1.0.53.tar.gz https://github.com/happyfish100/libfastcommon/archive/refs/tags/V1.0.53.tar.gz

    3、下载fastdfs-nginx-module

    wget -O fastdfs-nginx-module-1.22.tar.gz https://github.com/happyfish100/fastdfs-nginx-module/archive/refs/tags/V1.22.tar.gz 

    4、下载nginx

    wget http://nginx.org/download/nginx-1.20.1.tar.gz

    三、安装步骤

    1、安装编译软件及库文件

    2、安装libfastcommon-master

    3、安装fastdfs

    4、安装nginx

    四、详细步骤

    1、安装编译工具及库文件

    yum -y install make cmake gcc gcc-c++ bison-devel ncurses-devel autoconf automake lrzsz zip unzip netstat-nat libevent.x86_64 libevent-devel.x86_64
    
    yum
    -y install zlib zlib-devel openssl openssl-devel pcre-devel

     2、解压相关文件

    mkdir -p /usr/local/fastdfs

    cd /usr/local/src

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

    tar -zxvf libfastcommon-1.0.53.tar.gz -C /usr/local/fastdfs
    tar -zxvf fastdfs-nginx-module-1.22.tar.gz -C /usr/local/fastdfs

    tar
    -zxvf nginx-1.20.1.tar.gz -C /usr/local

     4、编译安装libfastcommon-master

    cd /usr/local/fastdfs/libfastcommon-1.0.53/
    ./make.sh

    ./make.sh install

    5、编译安装 fastdfs

    cd /usr/local/fastdfs/fastdfs-6.07
    ./make.sh
    .
    /make.sh install

     6、配置

    复制我们需要的配置文件

    cd /etc/fdfs 
    cp client.conf.sample client.conf 
    cp storage.conf.sample storage.conf 
    cp tracker.conf.sample tracker.conf

    配置tracker.conf,根据实际情况调整配置参数,可以不做任何调整

    cd /etc/fdfs/
    vi tracker.conf

    常用参数说明:

    disabled=false  #当前配置是否可用 false:可用 true:不可用
    connect_timeout=30  #针对socket套接字函数connect的连接超时时间设置  
    network_timeout=60  #设置网络超时,单位秒,发送或接收数据时,如果在超时时间之后依然不能进行,则本次网络通讯失败  
    base_path= /home/yuqing/fastdfs  #数据和日志文件 可根据需要修改
    max_connections=1024  #服务器支持的最大连接数
    accept_threads=1  #工作线程数,通常设置为CPU数量
    store_lookup=2  #上传组(卷)的方式:0轮询,1:指定,2:负载平衡(剩余空间最大选择)
    store_group=group1#组名称很重要 如果上一参数选择1方式,即制定组名,当前参数用来设置指定的组,如果选择其他方式,当前参数无效 
    http.server_port=9090 #http端口,使用Nginx来访问则不需要这个

    配置storage.conf,根据实际情况调整配置参数

    cd /etc/fdfs/

    vi storage.conf

    修改tracker_server 参数的IP改成我们自己实际的IP

    常用参数说明

    group_name=group1 #组名称很重要,如果tracker.conf配置为指定组名的话要和tracker.conf配置的相同
    base_path= /home/fastdft/fastdfs_storage_log  #storaged服务日志目录
    store_path0= /home/fastdft/resource #文件数据存放目录
    tracker_server=192.168.1.129:22122 #服务器IP:端口 ,IP根据本机IP来填写(阿里云服务器有两个ip地址,请使用公共ip,不要使用私密ip)
    http.server_port=9091 #http端口,使用Nginx来访问则不需要这个

    创建默认目录

    mkdir -p /home/yuqing/fastdfs

    7、启动

    启动tracker:/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
    启动storage:
    /usr/bin/fdfs_storaged /etc/fdfs/storage.conf start

    注:先启动tracker,等1min再启动storage

    8、检查

    netstat -unltp | grep fdfs

     说明成功了

    查看tracker上是否有相应的存储节点,即 tracker和storage是否连接起来了

    /usr/bin/fdfs_monitor /etc/fdfs/storage.conf

     成功了。

    9、测试

    配置client.conf,根据实际情况调整配置参数

    编辑client.conf:vim /etc/fdfs/client.conf
    base_path=/home/fastdft/fastdfs_client_log #tracker服务器文件路径 
    tracker_server=47.94.101.217:22122#tracker服务器IP地址和端口号 (阿里云公共ip)
    http.tracker_server_port=9090# tracker 服务器的 http 端口号,必须和tracker的设置对应

    上传文件/home/fastdft/7.png至服务器进行测试

    fdfs_test /etc/fdfs/client.conf upload  /home/fastdft/7.png

     若出现路径则表示测试成功

     10、安装 fastdfs-nginx-module-1.22

    将相关配置拷贝到/etc/fdfs下

    cd /usr/local/fastdfs/fastdfs-6.07/conf
    cp anti
    -steal.jpg http.conf mime.types /etc/fdfs/

    配置mod_fastdfs.conf,配置参数根据实际情况调整

    cd /usr/local/fastdfs/fastdfs-nginx-module-1.22/src
    cp mod_fastdfs.conf /etc/fdfs

    cd
    /etc/fdfs
    vim mod_fastdfs.conf

    重点修改tracker_server实际地址

     tracker_server=47.94.101.217:22122
     group_name=group1
     url_have_group_name = true
     store_path0=/home/fastdft/resource

     添加fastdfs-nginx-module并安装

    cd /usr/local/nginx-1.20.1

    ./configure --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs/fastdfs-nginx-module-1.22/src --with-http_ssl_module
    make
    && make install

     修改nginx配置文件

    cd /usr/local/nginx/conf
    vim nginx.conf server { listen
    8080;(可改变端口号默认是80) server_name 47.94.101.217;(或者是域名) location / { root html; index index.html index.htm; } location /group1/M00 { alias /home/fastdft/resource/; ngx_fastdfs_module; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }

     启动并验证nginx

    cd /usr/local/nginx/sbin     打开sbin目录
    ./nginx                      启动  
    ./nginx -s reload            重新载入配置文件  
    ./nginx -s reopen            重启 Nginx  
    ./nginx -s stop              停止 Nginx 

     检查nginx是否启动成功

    输入nginx监听地址测试:

     http://47.94.101.217:8080/

     验证下载:http://47.94.101.217:8080/group1/M00/00/00/L15l2WD7irCAYkPOAAOg2OcsP7I470.png

    五、问题排查

    1、nginx启动正常但是无法访问

    检查防火墙是否开启,如果开启,打开所需要的端口

    firewall-cmd --zone=public --add-port=8080/tcp --permanent //开放nginx端口
    firewall-cmd --zone=public --add-port=23000/tcp --permanent //开放storage端口
    firewall-cmd --zone=public --add-port=22122tcp --permanent //开放tracker端口
    firewall-cmd --reload

    云服务器上添加安全组规则,开放指定端口号 8080 23000 22122

     2 、nginx失败

    • Nginx启动只有master进程而没有worker进程
    • Nginx启动有两个master进程而没有worker进程
    • Nginx启动报: …/storage/trunk_mgr/trunk_shared.c, line: 194"Permission denied"
    • Nginx启动报:worker process 2396 exited on signal 11 (core dumped) ngx_http_fastdfs_proce

    解决思路(不分析原因只谈解决方法,这三个问题其实可以做一个问题,因为只要是配置有问题,worker进程就无法正常启动)
    1.排查fastdfs-nginx-module模块下的mod_fastdfs.conf文件是否拷贝到了fdfs文件夹下
    2.排查fdfs目录下的tracker.conf、storage.conf、mod_fastdfs.conf三个配置文件中的base_path、store_path0、base_path路径下的文件夹是否创建
    3.以上两步检测无误后,编辑nginx.conf文件,将#user nobody修改为user root,否则会报…/storage/trunk_mgr/trunk_shared.c, line: 194"Permission denied"即权限问题并且worker进程无法启动
    4.以上工作都做完,那么重点来了,在启动Nginx服务前需要首先开启fastdfs服务,唉,说多了都是泪!!!否则就会出现启动了两个master服务,错误日志疯狂刷worker process 9584 exited on signal 11 (core dumped),内存疯狂上升,风扇疯狂转,CPU疯狂升温、以及疯狂秃顶。。。

    六、参考

    1、https://github.com/happyfish100/fastdfs/wiki

    2、https://blog.csdn.net/luoluchen/article/details/88256341

  • 相关阅读:
    ant 软件包不存在报错
    在 Internet Explorer 中使用 Windows 窗体控件
    智能客户端
    Back to the Future with Smart Clients
    "Automation 服务器不能创建对象" 的解决方案
    Top 10 Reasons for Developers to Create Smart Clients
    Updater Application Block for .NET
    Smart Client Application Model and the .NET Framework 1.1
    Security and Versioning Models in the Windows Forms Engine Help You Create and Deploy Smart Clients
    智能客户端技术总结(二)
  • 原文地址:https://www.cnblogs.com/tesila/p/15049232.html
Copyright © 2011-2022 走看看