前期准备:
1.centOS服务器一台,我是在虚拟机里装了一个centOS
2.文件
3.服务器需要安装gcc,gcc++环境,因为fastdsf是基于c++开发的。
yum -y install gcc gcc-c++
开始安装步骤:
将需要的软件传输到服务器上
安装FDFS
FastDfs依赖libevent,需要先安装libevent
yum install -y libevent
解压libfastcommon-1.0.7.zip
unzip libfastcommon-1.0.7.zip
cd libfastcommon-1.0.7
执行命令 ./make.sh 和 ./make.sh install 编译安装
若没有安装unzip解压包,自行安装
yum install -y unzip zip
解压tar -zxvf FastDFS_v5.05.tar.gz,进入解压后的目录cd FastDFS
执行命令 ./make.sh 和 ./make.sh install 编译安装FDFS
安装成功后,会在/etc/fdfs 下生成三个配置文件:
cp http.conf mime.types /etc/fdfs/
配置启动tracker
cd /etc/fdfs
mv tracker.conf.sample tracker.conf # 修改文件名称,去掉sample
vim treacker.conf # 编辑配置文件
修改内容:
base_path=/home/fastdfs/tracker
创建目录:mkdir -p /home/fastdfs/tracker
以上配置完tracker,将tracker服务启动
fdfs_trackerd /etc/fdfs/tracker.conf
通过命令 ps -ef | grep tracker 查看服务是否启动成功
配置启动storage
cd /etc/fdfs
mv storage.conf.sample storage.conf # 修改文件扩展名,去掉sample
vim storage.cong # 编辑storage.conf
修改内容:
base_path=/home/fastdfs/storage
store_path=/home/fastdfs/storage
tracker_server=服务器ip:22122
创建目录:mkdir -p /home/fastdfs/storage
以上完成storage配置,开始启动storage服务
fdfs_storaged /etc/fdfs/storage.conf
查看服务启动状态
client 配置
cd /etc/fdfs
mv client.conf.sample client.conf # 修改client扩展名
vim client.conf # 编辑client.conf
修改内容:
base_path=/home/fastdfs/storage # 与storage.conf的base_path保持一致
tracker_server=服务器ip:22122
http.tracker_server_port=8080 # 与tracker.conf的http.server_port保持一致
测试上传文件
准备一张图片或者文件放到/home目录
fdfs_test /etc/fdfs/client.conf upload /home/tran.png
输出
说明文件上传成功,我们的fastdfs已经搭建完成,根据返回的路径 http://10.43.0.84:8080/group1/M00/00/00/CisAVF65bZeAX5SqAAHYMCFz5F8478.png 可以知道文件存储在group1组下,物理路径为:/home/fastdfs/storage/data/00/00这时我们想通过浏览器访问这张图片,发现是无法访问的(防火墙已经关闭)
所以我们需要借助Nginx做反向代理才能正常访问。Nginx 安装
首先需要安装nginx和fdfs的桥梁fastdfs-nginx-module
解压我们上传的fastdfs-nginx-module_v1.16.tar.gz文件
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz
cd fastdfs-nginx-module/src
vim config
编辑config文件,此文件的配置路径有问题
需要把这三个 /local 去掉,修改完后保存退出将当前目录下的mod_fastdfs.conf 复制一份到/etc/fdfs 目录下
cp mod_fastdfs.conf /etc/fdfs/
vim /etc/fdfs/mod_fastdfs.conf
修改内容:
tracker_server=服务器ip:22122
url_have_group_name=true # 路径拼接分组名称
store_path0=/home/fastdfs/storage # 与storage.conf的base_path一致
nginx
首先需要安装nginx依赖的包:pcre,zlib,openssl
yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel
解压我们准备好的nginx文件
tar -zxvf nginx-1.7.8.tar.gz
cd nginx-1.7.8
配置nginx:
执行make 和 make.install 安装./configure --prefix=/usr/local/nginx --sbin-path=/usr/sbin/nginx --add-module=/opt/fdfs/fastdfs-nginx-module/src
解释:
--prefix 指定安装目录
--sbin-path 指定启动命令安装目录
--add-module 加载fastdfs-nginx-module
cd /usr/local/nginx
配置文件在conf目录
启动nginx服务
服务启动成功,浏览器访问80端口 说明nginx配置完成。启动服务 nginx
停止服务 nginx -s stop
重新加载配置文件 nginx -s reload
配置反向代理到fastdfs: 修改配置文件: 我们的配置文件在/usr/local/nginx/conf/
vim /usr/local/nginx/conf/nginx.conf
在监听80端口的server中新增location配置:
location ~/group([0-9])/ {
ngx_fastdfs_module;
}
需要注意的是该location需要在location / 之前
再次访问我们之前上传的图片:ok!!!