Centos 安装FastDFS + Nginx

191 阅读3分钟

前期准备:

1.centOS服务器一台,我是在虚拟机里装了一个centOS
2.文件

下载地址:pan.baidu.com/s/1aWTv02CQ… 验证码:fr0u
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 下生成三个配置文件:

同时也会生成fdfs相关服务
将FastDFS/conf下的http.conf mime.types文件复制一份到/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:

./configure --prefix=/usr/local/nginx --sbin-path=/usr/sbin/nginx --add-module=/opt/fdfs/fastdfs-nginx-module/src

执行make 和 make.install 安装

解释:

--prefix 指定安装目录
--sbin-path 指定启动命令安装目录
--add-module 加载fastdfs-nginx-module

cd /usr/local/nginx

配置文件在conf目录

启动nginx服务

启动服务 nginx
停止服务 nginx -s stop
重新加载配置文件 nginx -s reload

服务启动成功,浏览器访问80端口
说明nginx配置完成。

配置反向代理到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!!!