安装环境
主机系统:windows 10
虚拟机应用:VMware 12
虚拟机系统:centos 7
安装FastDFS
1、下载并安装FastDFS依赖包libfastcommon
wget https://codeload.github.com/happyfish100/libfastcommon/zip/master
unzip master
cd libfastcommon-master/
./make.sh
./make.sh install
注意: 在进行./make.sh install时如果不是在root用户下执行,会出现权限不够的问题,此时需要在前面加上sudo
2、下载并安装FastDFS
wget http://jaist.dl.sourceforge.net/project/fastdfs/FastDFS%20Server%20Source%20Code/FastDFS%20Server%20with%20PHP%20Extension%20Source%20Code%20V5.08/FastDFS_v5.08.tar.gz
tar xf FastDFS_v5.08.tar.gz
cd FastDFS
./make.sh
./make.sh install
同样在执行./make.sh install之前需要加上sudo
3、 采用默认方式安装后的文件及目录:
ll /etc/init.d/ |grep fdfs
ll /etc/fdfs/
ll /usr/bin |grep fdfs
执行结果如下:
配置跟踪服务器(tracker server)
1、拷贝tracker server和client端样例配置文件并重命名
cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
注意:此处拷贝同样需要权限,操作完成后可以进行查看
2、编辑tracker server配置文件tracker.conf,这里需要注意的是你的服务器磁盘挂载的目录空间
可以使用:df -h 命令查看,配置base_path路径应该是设置到大存储空间的路径里,这个是FastDFS文件存储的实际路径。
该修改需要在root用户下完成
3、编辑client端的配置文件client.conf
192.168.220.128通过ifconfig指令查看得来
4、创建tracker server数据目录,就是上面配置的base_path路径
mkdir -p /data/fastdfs/tracker
5、测试启动tracker server,查看22122端口是否监听,启动成功会自动在/data/fastdfs/tracker目录新建data和logs目录
/etc/init.d/fdfs_trackerd start
ss -lntup|grep 22122
6、关闭tracker server
/etc/init.d/fdfs_trackerd stop
配置存储服务器(storage server)
1、拷贝storage server样例配置文件并重命名
cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
2、编辑storage server配置文件storage.conf
disabled=false(默认为false,表示是否无效)
port=23000(默认为23000)
base_path=/data/fastdfs/storage
tracker_server=192.168.220.128:22122
store_path0=/data/fastdfs/storage
http.server_port=8888(默认为8888,nginx中配置的监听端口)
192.168.220.128通过ifconfig指令查看得来
3、创建storage server数据目录
mkdir -p /data/fastdfs/storage
4、测试启动storage server,查看23000端口是否已经监听,启动成功会自动在/data/fastdfs/tracker目录新建data和logs目录(启动storage server的前提是tracker server必须事先已启动)
/etc/init.d/fdfs_storaged start
ss -lntup|grep 23000
5、文件上传测试:
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /home/wu/Pictures/1.jpg
/home/wu/Pictures/1.jpg
是图片的绝对路径,返回文件ID即说明文件已经上传成功
配置Nginx服务器
1、安装并配置nginx
更新nginx安装库:
rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
yum update
安装nginx:
yum info nginx
yum install nginx
下载fastdfs-nginx-moudule:
wget http://nchc.dl.sourceforge.net/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz
tar xf fastdfs-nginx-module_v1.16.tar.gz
cd fastdfs-nginx-module/src/
vim config
编辑config文件,执行如下命令进行批量替换并保存退出
:%s+/usr/local/+/usr/+g
2、拷贝fastdfs-nginx-module模块中配置文件到/etc/fdfs目录中并编辑
cp /home/oldcat/tools/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
vi /etc/fdfs/mod_fastdfs.conf
修改内容如下:
connect_timeout=10
base_path=/tmp(默认为/tmp ,请使用这个默认路径,修改路径的话,有可能http预览文件失败)
tracker_server=192.168.1.72:22122
storage_server_port=23000(默认配置为23000)
url_have_group_name = true
store_path0=/opt/fastdfs/storage
group_name=group1(默认配置为group1)
3、nginx添加fastdfs-nginx-module模块
yum install -y pcre-devel openssl openssl-devel
wget http://nginx.org/download/nginx-1.12.1.tar.gz
tar -zvxf nginx-1.12.1.tar.gz
cd nginx-1.12.1
./configure --prefix=/usr/local/nginx/ --add-module=../fastdfs-nginx-module/src/
make && make install
4、拷贝FastDFS中的部分配置文件到/etc/fdfs目录中
cp /home/wu/FastDFS/conf/http.conf /etc/fdfs/
cp /home/wu/FastDFS/conf/mime.types /etc/fdfs/
5、配置nginx
vim /usr/local/nginx/conf/nginx.conf
配置以下内容:
user root;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 8888;
server_name localhost;
location ~/group[0-9]/ {
ngx_fastdfs_module;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
6、启动Nginx,并查看8888端口是否已经监听:
cd /usr/local/nginx/sbin/
./nginx
ss -lntup|grep 8888
测试文件是否上传成功
1、启动各个服务
启动tracker
/etc/init.d/fdfs_trackerd start
启动两个storage
/etc/init.d/fdfs_storaged start
2、测试文件上传
首先传一张图片到tracker 服务上的 home目录下,然后执行命令上传到FastDFS文件存储,该图片在/home/wu/Pictures目录中
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /home/wu/Pictures/1.jpg
存储会返回类似这样的文件路径:
group1/M00/00/00/wKjcgF0__CSAHjVJAAzn68-j3y4616.jpg
然后打开浏览器,输入
http://192.168.220.128:8888/group1/M00/00/00/wKjcgF0__CSAHjVJAAzn68-j3y4616.jpg
可查看到上传的图片:
与上传图片相符,证明上传成功