CentOS 7安装FastDFS

准备工作:
将以下文件上传到/usr/local/smarthome目录。

  • FastDFS_v5.08.tar.gz
  • fastdfs-nginx-module_v1.16.tar.gz
  • libfastcommon-master.zip
  • nginx-1.10.0.tar.gz

一、单节点FastDFS

  1. 安装gcc
    GCC用来对C语言代码进行编译运行,使用yum命令安装:
yum -y install gcc

在这里插入图片描述
解压包需要用到解压命令(unzip),使用yum命令安装unzip:

yum -y install unzip zip

在这里插入图片描述

  1. 安装libevent
yum -y install libevent

在这里插入图片描述

  1. 安装libfastcommon-master
    进入/usr/local/smarthome目录,解压libfastcommon-master.zip:
unzip libfastcommon-master.zip

进入解压完成的目录:

 cd libfastcommon-master/

编译,运行./make.sh:
在这里插入图片描述

./make.sh

安装:

./make.sh install
  1. 安装fastdfs
    解压FastDFS_v5.08.tar.gz:
tar -zxvf FastDFS_v5.08.tar.gz

进入解压完成的目录:

cd FastDFS/

编译并安装:

./make.sh && ./make.sh install

如果安装成功,在/etc/init.d/目录下会有两个脚本文件:

ll /etc/init.d/ | grep fdfs

在这里插入图片描述
其中,fdfs_storaged是storage启动脚本,fdfs_trackerd是tracker启动脚本。
在/etc/fdfs/目录下能够看到默认的配置文件模板:

ll /etc/fdfs/

在这里插入图片描述

  • tarcker.conf.sample 是tracker的配置文件模板
  • storage.conf.sample 是storage的配置文件模板
  • client.conf.sample 是客户端的配置文件模板
  1. 配置并启动tracker服务
    1)复制模板文件:
cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf

2)修改复制后的配置文件:

vim /etc/fdfs/tracker.conf 

修改的内容如下:

# 存储日志和数据的根目录
base_path=/smarthome/tracker

3)新建目录:

mkdir -p /smarthome/tracker

注意:关闭防火墙
CentOS 7防火墙基础命令:

# 查看防火墙状态
systemctl status firewalld.service
# 关闭防火墙
systemctl stop firewalld.service
# 禁止防火墙开机启动
systemctl disable firewalld.service 

4)启动和停止:

# 启动tracker服务器:
/etc/init.d/fdfs_trackerd start
# 停止tracker服务器
/etc/init.d/fdfs_trackerd stop

在这里插入图片描述
在安装过程中,fdfs已被设置为系统服务,也可以采用以下命令启动/停止:

# 启动fdfs_trackerd服务
service fdfs_trackerd start
# 停止fdfs_trackerd服务
service fdfs_trackerd stop

检查FastDFS Tracker Server是否启动成功:

ps -ef | grep fdfs_trackerd

在这里插入图片描述
设置tracker服务开机启动:

chkconfig fdfs_trackerd on
  1. 配置并启动storage服务
    1)复制模板文件:
cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf

2)修改复制后的配置文件:

vim /etc/fdfs/storage.conf

修改的内容如下:

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

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

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

3)新建目录:

mkdir -p /smarthome/storage

4)启动和停止

# 启动storage服务器:
/etc/init.d/fdfs_storaged start

# 停止storage服务器:
/etc/init.d/fdfs_storaged stop

也可以使用以下命令:

# 启动fdfs_storaged服务
service fdfs_storaged start

# 停止fdfs_storaged服务
service fdfs_storaged stop

在这里插入图片描述
检查FastDFS Storage Server是否启动成功:

ps -ef | grep fdfs_storaged

在这里插入图片描述
设置storage服务开机启动:

chkconfig fdfs_storaged on

查看FDFS相关进程:

ps -ef | grep fdfs

在这里插入图片描述

二、使用Nginx访问FastDFS

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

2)进入src目录:

cd fastdfs-nginx-module/src/

编辑config:

vim config

使用以下底行命令,将所有的/usr/local替换成/usr:

:%s+/usr/local/+/usr/+g

在这里插入图片描述
这才是正确的目录。
3)配置Nginx与FastDFS关联配置文件
复制 fastdfs-nginx-module 源码中的配置文件到/etc/fdfs 目录, 并修改:

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

修改以下配置:

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

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

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

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

进入Fast DFS的conf目录,复制 FastDFS 的部分配置文件到/etc/fdfs 目录:

cd /usr/local/smarthome/FastDFS/conf/
cp http.conf mime.types /etc/fdfs/
  1. 安装Nginx的插件
    1)安装Nginx的依赖库:
yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

2)解压Nginx的安装包:

tar -zxvf nginx-1.10.0.tar.gz

3)进入解zhi压完成的目录,配置nginx安装包,并指定fastdfs-nginx-model:

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

注意:在执行./configure配置nginx参数的时候,需要将fastdfs-nginx-moudle源码作为模块编译进去。
4)编译并安装:

make && make install

5)启动Nginx:
配置Nginx整合fastdfs-module模块,需要修改Nginx配置文件:

vim  /opt/nginx/conf/nginx.conf

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

    server {
        listen       80;
        server_name  image.smarthome.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;
        }
    }

Nginx基本命令:

# 启动nginx
nginx

# 停止nginx
nginx -s stop

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

启动Nginx:

nginx

6)查看Nginx是否启动成功:

ps -ef | grep nginx

在这里插入图片描述
7)设置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

修改文件权限,并加入服务列表:

# 修改权限
chmod 777 /etc/init.d/nginx 
# 添加到服务列表
chkconfig --add /etc/init.d/nginx 

设置开机启动:

chkconfig nginx on
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦里逆天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值