Ubuntu安装FastDFS

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

设置开机自启动

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容