安装环境: 我用的是centos 7, 6.5的也可以。
一下是下载好的安装包,用sftp 上传到centos系统上的用户家目录下 (/home/用户名/fdfs) . fdfs没有就新建一个。
FastDFS运行需要一些依赖
GCC用来对C语言代码进行编译运行, 使用yum命令安装:
yum -y install gcc
unzip工具可以对压缩包进行解压
sudo yum install -y unzip zip
sudo yum -y install libevent
sudo yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel
这个没有yum包,只能通过编译安装:
1.解压刚刚上传的libfastcommon-master.zip
tar -xvf libfastcommon-master.zip
cd libfastcommon-master
sudo ./make.sh
sudo ./makesh install
到这里为止,所有依赖都已经安装完毕,接下来安装FastDFS
采用编译安装,步骤与刚才的编译安装方式一样:
tar -xvf FastDFS_v5.08.tar.gz
cd FastDFS
sudo ./make.sh
sudo ./make.sh install
1) 安装完成,我们应该能在/etc/init.d/
目录,通过命令ll /etc/init.d/ | grep fdfs
看到FastDFS提供的启动脚本:
/etc/init.d/
目录, 一般是系统的脚本目录, 如下两个就是刚安装的两个可执行脚本
fdfs_trackerd
是tracker启动脚本
fdfs_storaged
是storage启动脚本
2) 可以在 /etc/fdfs
目录,通过命令查看到以下配置文件模板:
tarcker.conf.sample
是tracker的配置文件模板storage.conf.sample
是storage的配置文件模板client.conf.sample
是客户端的配置文件模板FastDFS的tracker和storage在刚刚的安装过程中,都已经被安装了,因此我们安装这两种角色的方式是一样的。不同的是,两种需要不同的配置文件。
要启动tracker,就修改刚刚看到的tarcker.conf
,并且启动fdfs_trackerd
脚本即可。
cp tracker.conf.sample tracker.conf
vim tracker.conf
tracker.conf
,修改base_path
配置:base_path=/leyou/fdfs/tracker # tracker的数据和日志存放目录
mkdir -p /leyou/fdfs/tracker
sh /etc/init.d/fdfs_trackerd
启动,不过安装过程中,fdfs已经被设置为系统服务,我们可以采用熟悉的服务启动方式:service fdfs_trackerd start # 启动fdfs_trackerd服务,停止用stop
chkconfig fdfs_trackerd on
要启动tracker,就修改刚刚看到的tarcker.conf
,并且启动fdfs_trackerd
脚本即可。
编辑storage配置:
sudo cp storage.conf.sample storage.conf
sudo vim storage.conf
storage.conf
,修改base_path
配置:# storage的数据和日志存放目录
base_path=/leyou/fdfs/storage
# storage的上传文件存放路径
store_path0=/leyou/fdfs/storage
# tracker的地址 这里测试将tracker和storage启动在一个系统里,ip填当前系统ip
tracker_server=192.168.33.128:22122
mkdir -p /leyou/fdfs/storage
sh /etc/init.d/fdfs_storaged
启动,同样可以用服务启动方式:sudo service fdfs_storaged start # 启动fdfs_storaged服务,停止用stop
sudo chkconfig fdfs_storaged on
tar -xvf fastdfs-nginx-module_v1.16.tar.gz
# 进入配置目录
cd /home/leyou/fdfs/fastdfs-nginx-module/src/
# 修改配置
vim config
# 执行下面命令(将配置中的/usr/local改为/usr): %s 为全局替换
:%s+/usr/local/+/usr/+g
# 将src目录下的mod_fastdfs.conf复制到 /etc/fdfs目录:
cp mod_fastdfs.conf /etc/fdfs/
# 编辑该文件
vim /etc/fdfs/mod_fastdfs.cof
修改一下配置:
connect_timeout=10 # 客户端访问文件连接超时时长(单位:秒)
tracker_server=192.168.33.128:22122 # tracker服务IP和端口
url_have_group_name=true # 访问链接前缀加上组名
store_path0=/leyou/fdfs/storage # 文件存储路径
cp http.conf mime.types /etc/fdfs/
安装nginx
tar -xvf nginx-1.10.0.tar.gz
sudo ./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=/home/fanbaodan/fdfs/fastdfs-nginx-module/src
sudo make && sudo make install
sudo ./configure --prefix=/opt/nginx --sbin-path=/usr/bin/nginx --add-module=/home/fanbaodan/fdfs/fastdfs-nginx-module/src
make
# 先将之前的/etc/bin/nginx 备份
mv /usr/bin/nginx /usr/bin/nginx-bak
# 用刚编译好的nginx替换之前安装的nginx
cd /home/fanbaodan/nginx-1.10.0/objs/nginx /usr/bin/
修改nginx配置文件,在/opt/nginx/config/nginx.conf文件中
sudo vim /opt/nginx/conf/nginx.conf
将文件中,添加如下代码:
server {
listen 80;
server_name image.leyou.com;
# 监听域名中带有group的,交给FastDFS模块处理
location ~/group([0-9])/ {
ngx_fastdfs_module;
}
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}