美文网首页
Ubuntu安装FastDFS

Ubuntu安装FastDFS

作者: 不想当菜鸟了 | 来源:发表于2019-07-09 21:29 被阅读0次

    Linux下使用FastDFS:

    1.在VM VirtualBox中安装Ubuntu16.04LTS

    2.如果Ubuntu中没有ifconfig命令,则安装  sudo apt install net-tools,安装后查看Linux系统的ip地址

    3.安装xshell6和xftp6客户端

    4.给Ubuntu安装ssh服务,安装后才可以使用ftp功能   apt-get install openssh-server

    5.使用xshell,根据ip地址远程连接Linux

    6.安装gcc   apt-get install gcc

    7.安装libevent   apt-get install libevent-dev

    8.Ubuntu安装ftp服务,才可以使用xftp传递文件

    9.apt-get install更新软件源,使用sudo apt-get install vsftp命令安装vsftp

    10.安装好ftp后默认是会自动创建ftp用户的,然后我们设置ftp用户的密码,输入

    sudo passwd ftp,然后输入密码,再确认密码

    11.创建ftp用户的家目录,使用sudo mkdir /home/ftp命令

    12.对/etc/vsftpd.conf配置文件进行一定的修改。使用 sudo vi  /etc/vsftpd.conf打开配置文件,根据个人情况相应修改

    13.使用xftp传递文件到ftp目录中,然后可以使用图形界面移动文件到指定目录  sudo nautilus  或者使用Linux命令

    14.安装libfastcommon-master

    解压刚刚上传的libfastcommon-master.zip

    unzip libfastcommon-master.zip

    进入解压完成的目录

    cd libfastcommon-master

    编译并且安装:

    ./make.sh

    ./make.sh install

    15.安装fastdfs

    tar -zxvf FastDFS_v5.08.tar.gz

    cd FastDFS

    ./make.sh

    ./make.sh install

    16.如果安装成功,会看到/etc/init.d/下看到提供的脚本文件:ll /etc/init.d/ | grep fdfs

    17.配置并启动tracker服务

    FastDFS的tracker和storage在刚刚的安装过程中,都已经被安装了,因此我们安装这两种角色的方式是一样的。不同的是,两种需要不同的配置文件。

    我们要启动tracker,就修改刚刚看到的tarcker.conf,并且启动fdfs_trackerd脚本即可。

    1)首先将模板文件复制:    cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf

    2)修改复制后的配置文件:vi /etc/fdfs/tracker.conf 

    # 修改的内容如下:base_path=/leyou/tracker # 存储日志和数据的根目录

    3)新建目录: mkdir -p /leyou/tracker

    4)启动和停止(有防火墙一定要关闭防火墙)

    启动tracker服务器:    /etc/init.d/fdfs_trackerd start

    停止tracker服务器:    /etc/init.d/fdfs_trackerd stop

    不过安装过程中,fdfs已经被设置为系统服务,我们可以采用熟悉的服务启动方式:service fdfs_trackerd start # 启动fdfs_trackerd服务,停止用stop

    检查FastDFS Tracker Server是否启动成功:ps -ef | grep fdfs_trackerd

    设置tracker服务开机启动: Ubuntu和centos命令不一样 具体情况百度即可

    18.配置并启动storage服务

    1)首先将模板文件复制   cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf

    2)修改复制后的配置文件:vim /etc/fdfs/storage.conf

    # 修改的内容如下:

    base_path=/leyou/storage# 数据和日志文件存储根目录

    ​store_path0=/leyou/storage# 第一个存储目录

    ​tracker_server=192.168.56.101:22122#  tracker服务器IP和端口

    3)新建目录: mkdir -p /leyou/storage

    4)启动和停止

    service fdfs_storaged start # 启动fdfs_storaged服务,停止用stop

    5)设置storage服务开机启动:Ubuntu和centos命令不一样 具体情况百度即可

    使用nginx访问FastDFS:

    19.安装fastdfs-nginx-module     解压:tar -zxvf fastdfs-nginx-module_v1.16.tar.gz

    20.修改config  cd fastdfs-nginx-module/src/

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

    编辑:vim config

    在最下面添加命令::%s+/usr/local/+/usr/+g   (将所有的/usr/local替换为 /usr,这个才是正确的目录) 

    21.配置nginx与FastDFS关联配置文件

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

    vi /etc/fdfs/mod_fastdfs.conf

    22.修改一下配置

    connect_timeout=10 # 客户端访问文件连接超时时长(单位:秒)

    tracker_server=192.168.56.101:22122    # tracker服务IP和端口

    url_have_group_name=true                # 访问链接前缀加上组名

    store_path0=/leyou/storage            # 文件存储路径

    23.复制 FastDFS 的部分配置文件到/etc/fdfs 目录

    cd /usr/local/leyou/FastDFS/conf/

    cp http.conf mime.types /etc/fdfs/

    24.安装Nginx的插件 首先安装nginx的依赖库

    centos:  yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

    Ubuntu通centos不一样:

    sudo apt-get install openssl libssl-dev

    sudo apt-get install libpcre3 libpcre3-dev

    sudo apt-get install zlib1g-dev

    25.解压:tar -zxvf nginx-1.10.0.tar.gz

    26.配置nginx安装包,并指定fastdfs-nginx-model

    cd nginx-1.10.0

    ./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=/usr/local/leyou/fastdfs-nginx-module/src

    27.编译并安装 make && make install

    这一步最容易出错,接着提示:

    /home/wang/桌面/FastDFS/fastdfs-nginx-module/src/common.c:21:10: fatal error: fdfs_define.h: 没有那个文件或目录

    则需要敲入命令创建软连接:

    ln -sv /usr/include/fastcommon /usr/local/include/fastcommon

    ln -sv /usr/include/fastdfs /usr/local/include/fastdfs

    ln -sv /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so

    再次make

    sudo make install

    28.我们需要修改nginx配置文件,在/opt/nginx/config/nginx.conf文件中:vim /opt/nginx/conf/nginx.conf

    将文件中,原来的server 80{ ...} 部分代码替换为如下代码:

    server {

            listen      80;

            server_name  image.leyou.com;

        # 监听域名中带有group的,交给FastDFS模块处理

            location ~/group([0-9])/ {

                ngx_fastdfs_module;

            }

            location / {

                root  html;

                index  index.html index.htm;

            }

            error_page  500 502 503 504  /50x.html;

            location = /50x.html {

                root  html;

            }

        }

    29.启动nginx:

    nginx # 启动nginx

    nginx -s stop # 停止nginx

    nginx -s reload # 重新载入配置文件

    # 可通过ps -ef | grep nginx查看nginx是否已启动成功

    30.设置nginx开机启动

    创建一个开机启动的脚本:vim /etc/init.d/nginx

    添加以下内容:

    #!/bin/sh

    #

    # nginx - this script starts and stops the nginx daemon

    #

    # chkconfig:  - 85 15

    # description:  NGINX is an HTTP(S) server, HTTP(S) reverse \

    #              proxy and IMAP/POP3 proxy server

    # processname: nginx

    # config:      /etc/nginx/nginx.conf

    # config:      /etc/sysconfig/nginx

    # pidfile:    /var/run/nginx.pid

    # Source function library.

    . /etc/rc.d/init.d/functions

    # Source networking configuration.

    . /etc/sysconfig/network

    # Check that networking is up.

    [ "$NETWORKING" = "no" ] && exit 0

    nginx="/usr/bin/nginx"

    prog=$(basename $nginx)

    NGINX_CONF_FILE="/opt/nginx/conf/nginx.conf"

    [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx

    lockfile=/var/lock/subsys/nginx

    make_dirs() {

      # make required directories

      user=`$nginx -V 2>&1 | grep "configure arguments:.*--user=" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`

      if [ -n "$user" ]; then

          if [ -z "`grep $user /etc/passwd`" ]; then

            useradd -M -s /bin/nologin $user

          fi

          options=`$nginx -V 2>&1 | grep 'configure arguments:'`

          for opt in $options; do

              if [ `echo $opt | grep '.*-temp-path'` ]; then

                  value=`echo $opt | cut -d "=" -f 2`

                  if [ ! -d "$value" ]; then

                      # echo "creating" $value

                      mkdir -p $value && chown -R $user $value

                  fi

              fi

          done

        fi

    }

    start() {

        [ -x $nginx ] || exit 5

        [ -f $NGINX_CONF_FILE ] || exit 6

        make_dirs

        echo -n $"Starting $prog: "

        daemon $nginx -c $NGINX_CONF_FILE

        retval=$?

        echo

        [ $retval -eq 0 ] && touch $lockfile

        return $retval

    }

    stop() {

        echo -n $"Stopping $prog: "

        killproc $prog -QUIT

        retval=$?

        echo

        [ $retval -eq 0 ] && rm -f $lockfile

        return $retval

    }

    restart() {

        configtest || return $?

        stop

        sleep 1

        start

    }

    reload() {

        configtest || return $?

        echo -n $"Reloading $prog: "

        killproc $nginx -HUP

        RETVAL=$?

        echo

    }

    force_reload() {

        restart

    }

    configtest() {

      $nginx -t -c $NGINX_CONF_FILE

    }

    rh_status() {

        status $prog

    }

    rh_status_q() {

        rh_status >/dev/null 2>&1

    }

    case "$1" in

        start)

            rh_status_q && exit 0

            $1

            ;;

        stop)

            rh_status_q || exit 0

            $1

            ;;

        restart|configtest)

            $1

            ;;

        reload)

            rh_status_q || exit 7

            $1

            ;;

        force-reload)

            force_reload

            ;;

        status)

            rh_status

            ;;

        condrestart|try-restart)

            rh_status_q || exit 0

                ;;

        *)

            echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"

            exit 2

    esac

    31.修改文件权限,并加入服务列表(Ubuntu通centos命令不太一致,具体需要可以百度)

    # 修改权限

    chmod777/etc/init.d/nginx

    # 添加到服务列表

    chkconfig--add/etc/init.d/nginx

    设置开机自启动

    相关文章

      网友评论

          本文标题:Ubuntu安装FastDFS

          本文链接:https://www.haomeiwen.com/subject/rbafkctx.html