Fastdfs5.11部署

系统环境:
操作系统Centos 6.5
IP:172.30.8.5
Fasdfs_tracker1:172.30.8.5 storage1:172.30.8.5
1.安装依赖包,环境编译准备
[[email protected] app]# yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel -y

2.在/app下新建tracker跟踪服务器数据(/fastdfs/tracker)和 storage存储服务器数据(/fastdfs/storage)目录
[[email protected] ~]# mkdir -p /app/fastdfs/tracker
[[email protected] ~]# mkdir -p /app/fastdfs/storage

  1. #切换到安装目录准备下载安装包
    [[email protected] app]# cd /usr/local/src/
    [[email protected] src]#

4.安装libfastcommon
[[email protected] src]# git clone https://github.com/happyfish100/libfastcommon.git --depth 1
[[email protected] src]# git clone https://github.com/happyfish100/libfastcommon.git --depth 1
Initialized empty Git repository in /usr/local/src/libfastcommon/.git/
error: while accessing https://github.com/happyfish100/libfastcommon.git/info/refs

fatal: HTTP request failed 报错了
错误解决
[[email protected] src]# yum -y install crul curl-devel
[[email protected] src]# curl https://github.com/happyfish100/libfastcommon.git/info/refs
curl: (35) SSL connect error 还是错误。
[[email protected] src]# yum update nss 再/etc/init.d/php-fpm restart,但系统无法找到,因此直接再次执行curl
[[email protected] ~]# curl https://github.com/happyfish100/libfastcommon.git/info/refs
Please upgrade your git client.
GitHub.com no longer supports git over dumb-http: https://github.com/blog/809-git-dumb-http-transport-to-be-turned-off-in-90-days
虽然提升要更新git,但可以不理会
[[email protected] src]# git clone https://github.com/happyfish100/libfastcommon.git --depth 1
Initialized empty Git repository in /usr/local/src/libfastcommon/.git/
remote: Counting objects: 201, done.
remote: Compressing objects: 100% (174/174), done.
remote: Total 201 (delta 70), reused 98 (delta 26), pack-reused 0
Receiving objects: 100% (201/201), 510.70 KiB | 239 KiB/s, done.
Resolving deltas: 100% (70/70), done.
[[email protected] src]# ls -l
total 4
drwxr-xr-x 6 root root 4096 Mar 1 17:55 libfastcommon
[[email protected] src]# cd libfastcommon/
[[email protected] libfastcommon]# ./make.sh && ./make.sh install

mkdir -p /usr/lib64
mkdir -p /usr/lib
install -m 755 libfastcommon.so /usr/lib64
install -m 755 libfastcommon.so /usr/lib
mkdir -p /usr/include/fastcommon

5.安装FastDFS
[[email protected] libfastcommon]# cd /usr/local/src/
[[email protected] src]# git clone https://github.com/happyfish100/fastdfs.git --depth 1(由于这是最新版本的链接)
Initialized empty Git repository in /usr/local/src/fastdfs/.git/
remote: Counting objects: 314, done.
remote: Compressing objects: 100% (229/229), done.
remote: Total 314 (delta 161), reused 176 (delta 82), pack-reused 0
Receiving objects: 100% (314/314), 414.95 KiB | 226 KiB/s, done.
Resolving deltas: 100% (161/161), done.

[[email protected] src]# cd /fastdfs/
[[email protected] fastdfs]# ./make.sh && ./make.sh install
因此选择上传已经下载的fastdfs 5.11到/usr/local/src上并执行解压
[[email protected] src]# rz
rz waiting to receive.
Starting zmodem transfer. Press Ctrl+C to cancel.
Transferring fastdfs-5.11.tar.gz…
100% 329 KB 329 KB/sec 00:00:01 0 Errors

You have new mail in /var/spool/mail/root
[[email protected] src]# tar -zxvf fastdfs-5.11.tar.gz
[[email protected] fastdfs-5.11]# ./make.sh && ./make.sh install

h client_func.h client_global.h fdfs_client.h /usr/include/fastdfs
if [ ! -f /etc/fdfs/client.conf.sample ]; then cp -f …/conf/client.conf /etc/fdfs/client.conf.sample; fi
6.#配置文件准备
[[email protected] fastdfs-5.11]#cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
[[email protected] fastdfs-5.11]#cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
[[email protected] fastdfs-5.11]#cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf #客户端文件,测试用
[[email protected] fastdfs-5.11]#cp /usr/local/src/fastdfs-5.11/conf/http.conf /etc/fdfs/ #供nginx访问使用
[[email protected] fastdfs-5.11]#cp /usr/local/src/fastdfs-5.11/conf/mime.types /etc/fdfs/ #供nginx访问使用

7.安装fastdfs-nginx-module
[[email protected] src]# git clone https://github.com/happyfish100/fastdfs-nginx-module.git --depth 1
Initialized empty Git repository in /usr/local/src/fastdfs-nginx-module/.git/
remote: Counting objects: 10, done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 10 (delta 0), reused 3 (delta 0), pack-reused 0
Unpacking objects: 100% (10/10), done.
[[email protected] src]# ls -l
total 344
drwxrwxr-x 10 root root 4096 Mar 1 18:05 fastdfs-5.11
-rw-r–r-- 1 root root 336939 Mar 1 15:05 fastdfs-5.11.tar.gz
drwxr-xr-x 4 root root 4096 Mar 2 09:16 fastdfs-nginx-module
drwxr-xr-x 6 root root 4096 Mar 1 17:57 libfastcommon
[[email protected] src]# cp /usr/local/src/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

8.安装nginx-1.12.2.tar.gz
上传nginx-1.12.2.tar.gz或wget http://http?/nginx.org/download/nginx-1.12.2.tar.gz
[[email protected] src]# cd /usr/local/
[[email protected] local]# wget http://nginx.org/download/nginx-1.12.2.tar.gz
[[email protected] local]# tar -zxvf nginx-1.12.2.tar.gz
[[email protected] local]# cd nginx-1.12.2
[[email protected] nginx-1.12.2]# ./configure --add-module=/usr/local/src/fastdfs-nginx-module/src/

[[email protected] nginx-1.12.2]#make && make install

[[email protected] nginx-1.12.2]cd /app
[[email protected] app]# ls -l
total 20
drwxr-xr-x 4 root root 4096 Mar 2 09:44 fastdfs
drwx------ 2 root root 16384 Mar 1 14:44 lost+found

9.tracker配置
[[email protected] app]# cp /etc/fdfs/tracker.conf /etc/fdfs/tracker.conf.bak20180302 #备份下tracker.conf
[[email protected] app]# vim /etc/fdfs/tracker.conf
#需要修改的内容如下
port=22122 # tracker服务器端口(默认22122,一般不修改)
base_path=/app/fastdfs/tracker # 存储日志和数据的根目录
保存后启动
[[email protected] app]# /etc/init.d/fdfs_trackerd start #启动tracker服务
Starting FastDFS tracker server:
[[email protected] app]# chkconfig fdfs_trackerd on #自启动tracker服务

10.storage配置
[[email protected] app]# cp /etc/fdfs/storage.conf /etc/fdfs/storage.conf.bak20180302 #备份下storage.conf
[[email protected] app]# vim /etc/fdfs/storage.conf
port=23000 # storage服务端口(默认23000,一般不修改)
base_path=/app/fastdfs/storage # 数据和日志文件存储根目录
store_path0=/app/fastdfs/storage # 第一个存储目录
tracker_server=172.30.8.5:22122 # tracker服务器IP和端口
http.server_port=8888 # http访问文件的端口(默认8888,看情况修改,和nginx中保持一致)
#保存后启动
[[email protected] app]# /etc/init.d/fdfs_storaged start #启动storage服务
Starting FastDFS storage server:
[[email protected] app]# chkconfig fdfs_storaged on #自启动storage服务

11.client测试
[[email protected] app]# cp /etc/fdfs/client.conf /etc/fdfs/client.conf.bak20180302 #备份下client.conf
[[email protected] app]# vim /etc/fdfs/client.conf
#需要修改的内容如下
base_path=/app/fastdfs/tracker
tracker_server=172.30.8.5:22122 #tracker IP地址
#保存后测试,返回ID表示成功 eg:group1/M00/00/00/wKgAQ1pysxmAaqhAAA76tz-dVgg.tar.gz
[[email protected] app]# fdfs_upload_file /etc/fdfs/client.conf /usr/local/nginx-1.12.2.tar.gz
group1/M00/00/00/rB4IBVqYsziAALp2AA76tz-dVgg.tar.gz

12.配置nginx访问
[[email protected]]# cp /etc/fdfs/mod_fastdfs.conf /etc/fdfs/mod_fastdfs.conf.bak20180302 #备份mod_fastdfs.conf
[[email protected] app]# vim /etc/fdfs/mod_fastdfs.conf
需要修改的内容如下
tracker_server=172.30.8.5:22122
url_have_group_name=true
store_path0=/app/fastdfs/storage

#配置nginx.config
[[email protected] app]# cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak20180302
[[email protected] app]# vi /usr/local/nginx/conf/nginx.conf
#添加如下配置
server {
listen 8888; ## 该端口为storage.conf中的http.server_port相同
server_name localhost;
location ~/group[0-9]/ {
ngx_fastdfs_module;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}

#测试下载,用外部浏览器访问刚才已传过的nginx安装包,引用返回的ID
http://172.30.8.5:8888/group1/M00/00/00/rB4IBVqYsziAALp2AA76tz-dVgg.tar.gz
#弹出下载单机部署全部跑通,否则首先检查防火墙,再检查其他配置

无法打开URL,发现nginx未启动,也未配置自动启动。
[[email protected] nginx]# vi /etc/init.d/nginx #在/etc/init.d/目录下创建 nginx 文件,内容如下:
#!/bin/sh

# nginx - this script starts and stops the nginx daemin

# chkconfig: - 85 15

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

# proxy and IMAP/POP3 proxy server

# processname: nginx

# config: /usr/local/nginx/conf/nginx.conf

# pidfile: /usr/local/nginx/logs/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/local/nginx/sbin/nginx"

prog=$(basename $nginx)

NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"

lockfile=/var/lock/subsys/nginx

start() {

[ -x $nginx ] || exit 5

[ -f $NGINX_CONF_FILE ] || exit 6

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

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

[[email protected] nginx]# chmod 777 /etc/init.d/nginx #设置/etc/init.d/nginx 执行权限
设置开机默认启动
[[email protected] nginx]# chkconfig --add nginx #//添加系统服务
[[email protected] nginx]# chkconfig --level 345 nginx on #//设置开机启动,启动级别
[[email protected] nginx]# chkconfig --list nginx #//查看开机启动配置信息
nginx 0:off 1:off 2:off 3:on 4:on 5:on 6:off
[[email protected] nginx]# service nginx start
Starting nginx: ngx_http_fastdfs_set pid=19364
[ OK ]

nginx控制命令
service nginx start #开启
service nginx stop #停止
service nginx restart #重启
service nginx reload #重新加载

Fastdfs5.11部署

再一次打开,
http://172.30.8.5:8888/group1/M00/00/00/rB4IBVqYsziAALp2AA76tz-dVgg.tar.gz
可以下载
Fastdfs5.11部署