高性能文件上传服务器,Nginx+Fastdfs搭建高性能分布式文件服务器

概要

1610216

组件介绍

环境准备

安装 tracker 服务

安装环境

安装 libeventyum -y install libevent

安装 libfastcommontar -zxvf libfastcommon-1.0.7.tar.gz //解压

./make.sh //编译

./make.sh install //安装,会安装到/usr/lib64目录

cp /usr/lib64/libfastcommon.so /usr/lib

安装 fastdfstar -zxvf fastdfs-5.05.tar.gz

./make.sh

./make.sh install //会安装命令到/usr/bin目录以及配置文件到/etc/fdfs/

配置 trackercp /home/tar/fastDFS/fastdfs-5.05/conf/* /etc/fdfs/

vim /etc/fdfs/tracker.conf

base_path=/fastdfs/tracker //修改日志保存路径

mkdir /fastdfs/tracker -p //递归创建

mkdir /fastdfs/storage -p

mkdir /fastdfs/client -p

启动 trackercd /usr/bin

fdfs_trackerd /etc/fdfs/tracker.conf //启动

fdfs_trackerd /etc/fdfs/tracker.conf restart //重启

安装 storage 服务

配置 storagevim /etc/fdfs/storage.conf

base_path=/fastdfs/storage

group_name=jay //组织名,文件前缀

store_path0=/fastdfs/storage //文件实际存储路径

tracker_server=119.3.142.206:22122 //你自己的服务器地址

启动 storage/usr/bin fdfs_storaged /etc/fdfs/storage.conf //启动

/usr/bin fdfs_storaged /etc/fdfs/storage.conf restart //重启

配置 client 测试上传

配置 clientvim /etc/fdfs/client.conf

base_path=/fastdfs/client

tracker_server=119.3.142.206:22122

测试上传/usr/bin fdfs_test /etc/fdfs/client.conf upload /home/1.png //返回的地址不能直接访问,需配置web服务器nginx

cd /fastdfs/storage/data/00/00 //查看上传的文件

nginx 安装与 fastdfs 配置

配置 fastdfs 和 nginx 的整合包tar -zxvf fastdfs-nginx-module_v1.16.tar.gz

vim /home/tar/fastDFS/fastdfs-nginx-module/src/config

/usr/include/fastdfs

/usr/include/fastcommon/

/usr/lib -lfastcommon -lfdfsclient

安装 nginx

安装基本环境yum install gcc-c++

yum install pcre pcre-devel //包含一些正则表达式,nginx通过此库兼容解析nginx正则表达式

yum install zlib zlib-dev

yum install openssl openssl-devel

配置 nginxtar -zxvf nginx-1.6.3.tar.gz

cd nginx-1.6.3

#添加fdfs模块

./configure

--prefix=/usr/local/nginx

--pid-path=/var/run/nginx/nginx.pid

--lock-path=/var/lock/nginx.lock

--error-log-path=/var/log/nginx/error.log

--http-log-path=/var/log/nginx/access.log

--with-http_gzip_static_module

--http-client-body-temp-path=/var/temp/nginx/client

--http-proxy-temp-path=/var/temp/nginx/proxy

--http-fastcgi-temp-path=/var/temp/nginx/fastcgi

--http-uwsgi-temp-path=/var/temp/nginx/uwsgi

--http-scgi-temp-path=/var/temp/nginx/scgi

--add-module=/home/tar/fastDFS/fastdfs-nginx-module/src

make //编译nginx

make install //安装到/usr/local目录下

配置桥梁模块cp /home/tar/fastDFS/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

vim mod_fastdfs.conf

base_path=/fastdfs/tmp

tracker_server=119.3.142.206:22122

group_name=jay

url_have_group_name=true

store_path0=/fastdfs/storage

配置 nginxvim /usr/local/nginx/conf/nginx.conf

#增加一个server,保存退出

server{

listen 88;

server_name 119.3.142.206;

location /jay/M00{

ngx_fastdfs_module;

}

}

cd /usr/local/nginx/sbin

./nginx -t //检查nginx是否配置ok

./nginx //启动nginx

./nginx -s reload //重启

#打开chrome访问ip:80,如果无法访问需关闭防火墙,云服务器配置安全组放通端口

/etc/init.d/iptables status //查看防火墙状态

/etc/init.d/iptables stop

#访问图片

119.3.142.206:88/jay/M00/00/00/1.jpg