Centos 7 FastDFS安装配置
- 环境配置
- libfastcommon 安装
- fastdfs 安装
- tracker 配置
- storage 配置
- client 配置
- Nginx 安装
- nginx 安装
- FastDFS 测试
环境配置
yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel wget vim -y
libfastcommon 安装
libfastcommon是从FastDFS和FastDHT中提取出来的公共C函数库,FastDFS依赖该模块,需要首先安装它。
解压缩并进入解压缩后的文件夹的根目录:
tar zxvf libfastcommon-1.0.36.tar.gz && cd libfastcommon-1.0.36
执行编译安装:
./make.sh && ./make.sh install
安装完成后,返回到上一级目录(软件包所在的根目录):
cd ..
fastdfs 安装
解压缩并进入解压缩后的文件夹的根目录:
tar zxvf fastdfs-5.10.tar.gz && cd fastdfs-5.10
执行编译安装:
./make.sh && ./make.sh install
重新编译安装:
./make.sh clean && ./make.sh && ./make.sh install
安装成功后,在系统/etc路径下会生成一个/fdfs目录,该目录下是FastDFS相关的一些示例配置文件内容。
ll /etc/fdfs/
total 24
-rw-r–r-- 1 root root 1461 Jun 5 16:46 client.conf.sample
-rw-r–r-- 1 root root 7927 Jun 5 16:46 storage.conf.sample
-rw-r–r-- 1 root root 105 Jun 5 16:46 storage_ids.conf.sample
-rw-r–r-- 1 root root 7200 Jun 5 16:46 tracker.conf.sample
将当前路径下 conf 目录里面的 anti-steal.jpg,http.conf,mime.types 复制到 /etc/fdfs 目录中:
cp conf/anti-steal.jpg conf/http.conf conf/mime.types /etc/fdfs/
安装完成后,返回到上一级目录(软件包所在的根目录):
cd ..
tracker 配置
将/etc/fdfs/tracker.conf.sample重命名为/etc/fdfs/tracker.conf并编辑它:
mv /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf && vi /etc/fdfs/tracker.conf
找到base_path的配置行,将其修改为:
base_path=/opt/fastdfs
这里的base_path是tracker用于存储数据文件(其路径为:base_path/data)以及日志文件(其路径为:base_path/logs)的基路径。如果配置的目录尚未存在,需要先创建该路径:
mkdir /opt/fastdfs
启动命令:
fdfs_trackerd /etc/fdfs/tracker.conf start
停止命令:
fdfs_trackerd /etc/fdfs/tracker.conf stop
重启命令:
fdfs_trackerd /etc/fdfs/tracker.conf restart
storage 配置
将/etc/fdfs/storage.conf.sample重命名为/etc/fdfs/storage.conf并编辑它:
mv /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf && vi /etc/fdfs/storage.conf
找到base_path的配置行,将其修改为:
base_path=/opt/fastdfs/storage
这里的base_path是storage用于存储数据文件(其路径为:base_path/data)以及日志文件(其路径为:base_path/logs)的基路径。如果配置的目录尚未存在,需要先创建该路径:
mkdir -p /opt/fastdfs/storage
找到store_path0的配置行,将其修改为:
store_path0=/opt/fastdfs/storage
store_path0如果配置的路径不存在,则会使用base_path配置的路径。
找到tracker_server的配置行,将其修改为tracker服务器的地址:
tracker_server=192.168.1.220:22122
启动命令:
fdfs_storaged /etc/fdfs/storage.conf start
停止命令:
fdfs_storaged /etc/fdfs/storage.conf stop
重启命令:
fdfs_storaged /etc/fdfs/storage.conf restart
client 配置
将/etc/fdfs/client.conf.sample重命名为/etc/fdfs/client.conf并编辑它:
mv /etc/fdfs/client.conf.sample /etc/fdfs/client.conf && vi /etc/fdfs/client.conf
找到base_path的配置行,将其修改为:
base_path=/home/fanlychie/fastdfs
这里的base_path是storage用于存储数据文件(其路径为:base_path/data)以及日志文件(其路径为:base_path/logs)的基路径。如果配置的目录尚未存在,需要先创建该路径:
mkdir -p /opt/fastdfs
找到tracker_server的配置行,将其修改为tracker服务器的地址:
tracker_server=192.168.1.220:22122
fastdfs-nginx-module 安装
解压缩并进入解压缩后的文件夹的根目录:
tar zxvf fastdfs-nginx-module_v1.16.tar.gz && cd fastdfs-nginx-module
编辑src/mod_fastdfs.conf:
vi src/mod_fastdfs.conf
找到tracker_server的配置行,将其修改为tracker服务器的地址:
tracker_server=192.168.1.220:22122
找到url_have_group_name的配置行,将其改为:
url_have_group_name = true
如果请求的url地址中包含了group_name(如“group1/M00/00/00/xxx”)则应设为true。
如果请求的url地址中不包含group_name(如“/M00/00/00/xxx”)则应设为false。
找到store_path0的配置行,将其改为:
store_path0=/opt/fastdfs/storage
必须配置与本机storage.conf中配置的store_path0路径相同。
复制文件src/mod_fastdfs.conf到/etc/fdfs/目录下:
cp src/mod_fastdfs.conf /etc/fdfs/
编辑src/config:
vi src/config
找到CORE_INCS的配置行:
CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/"
去掉路径中的/local,改为如下并保存退出:
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
Nginx 安装
由于FastDFS提供的HTTP服务较为简单,它无法提供负载均衡等高性能的服务。因此,FastDFS通常会结合Nginx来使用。安装Nginx所需的依赖有:
nginx 的 gzip 模块(压缩)需要依赖 zlib 库
nginx 的 ssl 模块(支持 HTTPS)需要依赖 openssl 库
nginx 的 rewrite 模块(支持 URL 重写)需要依赖 pcre 库
nginx 安装
解压缩并进入解压缩后的文件夹的根目录:
tar zxvf nginx-1.12.1.tar.gz && cd nginx-1.12.1
编译安装(注意修改–add-module的路径):
./configure --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs/fastdfs-nginx-module/src/ && make && make install
–add-module的路径需要改成你服务上上面配置好的fastdfs-nginx-module对应的路径。
编辑 nginx 配置文件:
vi /usr/local/nginx/conf/nginx.conf
配置如下:
location /group1/M00 {
root /opt/fastdfs/storage/data/;
ngx_fastdfs_module;
}
root指定到storage配置的${base_path}/data/目录下
启动命令:
/usr/local/nginx/sbin/nginx
停止命令:
/usr/local/nginx/sbin/nginx -s stop
重新加载命令:
/usr/local/nginx/sbin/nginx -s reload
FastDFS 测试
新建测试文件:
echo 'Hello World!' > hello.txt
测试上传:
fdfs_test /etc/fdfs/client.conf upload hello.txt
上传成功之后返回类似信息:
example file url: http://192.168.1.220/group1/M00/00/00/CgoKgFsXN6qAWGyzAAAADT9THu8575.txt